Java TreeMap vs HashMap
1. 차이점 1) 구현 해시 테이블 기반 구현인 HashMap은 AbstractMap 클래스를 확장하고 Map 인터페이스를 구현한다. HashMap은 해싱 원칙에 따라 작동한다. 이 Map 구현은 일반적으로 버킷 해시 테이블 역할을 하지만 버킷이 너무 커지면 각각 java.util.TreeMap의 구조와 유사한 TreeNodes 노드로 변환된다. ...
1. 차이점 1) 구현 해시 테이블 기반 구현인 HashMap은 AbstractMap 클래스를 확장하고 Map 인터페이스를 구현한다. HashMap은 해싱 원칙에 따라 작동한다. 이 Map 구현은 일반적으로 버킷 해시 테이블 역할을 하지만 버킷이 너무 커지면 각각 java.util.TreeMap의 구조와 유사한 TreeNodes 노드로 변환된다. ...
1. TreeMap의 기본 정렬 기본적으로 TreeMap은 자연 순서에 따라 모든 항목을 정렬한다. 정수의 경우 이것은 오름차순을 의미하고 문자열의 경우 알파벳 순서를 의미한다. @Test public void givenTreeMap_whenOrdersEntriesNaturally_thenCorrect() { TreeMap<Integer...
1. put API 해시 맵에 값을 저장하기 위해 두 개의 매개변수를 사용하는 put API를 호출한다. key와 해당 value 이다. V put(K key, V value); 키 아래 맵에 값이 추가되면 키 객체의 hashCode() API가 호출되어 초기 해시 값으로 알려진 것을 검색한다. 이를 실제로 확인하기 위해 키 역할을 할 객체를 ...
1. 기본 사용법 HashMap에서 맵은 key-value 매핑이다. 즉, 모든 키가 정확히 하나의 값에 매핑되고 키를 사용하여 맵에서 해당 값을 검색할 수 있음을 의미한다. 단순히 값을 목록에 추가하면 안 되는 이유를 알 수 있다. HashMap이 필요한 단순한 이유는 성능이다. 목록에서 특정 요소를 찾으려면 시간 복잡도는 O(n)이고 목록을 정렬...
1. TreeSet 간단히 말해서 TreeSet은 AbstractSet 클래스를 확장하고 NavigableSet 인터페이스를 구현하는 정렬된 컬렉션이다. 다음은 이 구현의 가장 중요한 측면에 대한 간략한 요약이다. 고유한 elements를 저장한다. elements의 삽입 순서를 유지하지 않는다. ...
1. HashSet HashSet은 Java Collections API의 기본 데이터 구조 중 하나이다. 이 구현의 가장 중요한 측면이다. 고유한 elements를 저장하고 null을 허용한다. HashMap 에 의해 지원된다. 삽입 순서를 유지하지 않는다. 스레드로부터 안전하지...
1. Linked List 데이터 구조 Linked List는 각 요소의 포인터가 순서를 결정하는 선형 데이터 구조이다. 연결된 목록의 각 요소에는 목록 데이터를 저장하는 데이터 필드와 시퀀스의 다음 요소를 가리키는 포인터 필드가 있다. 또한 헤드 포인터를 사용하여 연결된 목록의 시작 요소를 가리킬 수 있다. 연결 리스트를 뒤집은 후 헤드는 원래...
1. 두 문자열 List의 교집합 일부 중복된 요소가 있는 두 개의 Strings Lists를 교집합으로 만든다. List<String> list = Arrays.asList("red", "blue", "blue", "green", "red"); List<String> otherList = Arrays.asList("red", ...
1. 테스트 설정 예제를 테스트하는데 사용할 두 개의 목록을 정의한다. public class FindDifferencesBetweenListsUnitTest { private static final List listOne = Arrays.asList("Jack", "Tom", "Sam", "John", "James", "Jack"); ...
1. for Loop 몇 가지 for 루프 옵션이다. 예를 들어 국가 목록을 정의한다. List<String> countries = Arrays.asList("Germany", "Panama", "Australia"); 1) 기본 for Loop 반복을 위한 가장 일반적인 흐름 제어문은 기본 for 루프이다. for 루프는 세미콜론...