Language/Java(4)
-
[Java] Map.getOrDefault(K key, V default-value)
Map 객체에 요소를 추가할 때 반드시 'key' 값의 존재 여부를 확인('key' 는 중복이 없어야 하기 때문)하여야 한다. 필요에 따라 'key' 가 존재하면 해당 'key' 의 'value' 의 값을 수정하거나 존재하지 않는다면 기본 값을 지정해 Map 객체에 추가하는 경우도 있다. 자체적으로 기능을 구현해 사용해도 되지만 이러한 기능을 가진 메서드가 이미 구현되어있으니 바로 'Map.getOrDefault()' 이다. 오늘은 해당 메서드를 다루어 파악해보자. 1. 기본 문법Map map = new HashMap();map.getOrDefault(key, default-value); 'getOrDefault()' 메서드는 2개의 파라미터를 요구하는데 하나는 'key' 값이고 다른 하나는 'key'..
2024.08.25 -
[Java] Map.entrySet()
기존에 알고 있던 'keySet()' 을 사용하면 'Set' 타입으로 Map 객체가 가지고 있는 'key' 값들을 반환해 준다. 하지만 때로는 'key' 값과 'value' 값을 함께 반환받는 것이 필요할 때가 있다. 이럴 때 사용하는 것이 'entrySet()' 메서드로 ' 'key' 와 'value' 를 한 쌍으로 하여 함께 반환 받을 수 있다. 오늘은 해당 메서드를 직접 다루어보며 기능을 확인해보자. 1. 기본 문법Map map = new HashMap();Set> mapEntrySet = map.entrySet(); Entry 는 인터페이스로 Map 인터페이스와 함께 사용되는 듯하다. 인터페이스 설명에 따르면 'entry' 는 Map 의 항목(key-value pair)을 뜻 한다. 즉, 'Ma..
2024.08.25 -
[Java] Map.computeIfAbsent(K key, Function)
해당 메서드는 데이터를 특정 값에 따라 각각의 그룹으로 분류하고자 사용하게 되면서 이렇게 학습한 내용을 정리하게 되었다. 당시 상황은 그룹을 특정할 만한 데이터들과 해당 데이터를 통해 식별가능한 데이터들이 준비된 상태였다. 간단하게 설명하면 집합 '[1,2,3,4,5,6]' 가 있을 때 '1 = [1,2,6], 2 = [3,4,5]' 그룹으로 나누어 데이터를 저장하고 꺼내야 하는 상황인 것이다. 이 때, 'Map.computeIfAbsent()' 메서드를 알게 되었고 문제 해결을 할 수 있었다. 1. Map.computeIfAbsent( ) ? Java 의 Map 클래스 설명에 따르면 지정된 키 값이 아직 연결되지 않은 경우(또는 null 에 매핑된 경우) 지정된 매핑 함수를 사용해 해당 값을 연산을 시..
2024.08.22 -
[Java] PriorityQueue
1. PriorityQueue? 'PriorityQueue' 클래스는 힙 데이터 구조에 기반한 우선순위 큐이다. 해당 큐는 구성 시 지정된 순서(요소의 자연적 순서 또는 명시적 비교기에 의해 부과한 순서)에 따라 요소를 정렬한다. 요소에 대한 검색 작업(poll, remove, peek 등)을 하면 큐의 헤드에 접근한다. 우선순위 큐의 헤드는 지정된 순서와 관련해 가장 작은 요소를 말한다. 만약 여러 요소가 최소 값으로 묶여있다면 큐의 헤드는 요소들 중 하나이다(즉, 묶음이 임의로 끊어진다). 우선순위 큐는 'null' 요소를 허용하지 않는다. 또한 자연적 순서에 의존하는 우선순위 큐의 경우 비교 불가능한 객체의 삽입도 허용하지 않는다(해당 경우 객체를 삽입하면 ClassCastException 이 발..
2024.08.10