HashMap
Iterator, HashMap과 지네릭스
Iterator, HashMap과 지네릭스
2022.05.04Iterator 클래스를 작성할 때, Object타입 대신 T와 같은 타입 변수를 사용 예전에, Iterator가 일반 클래스일 때는, 다음요소를 읽어오는 next();가 Obejct타입이었다. 이것이 지네릭 클래스로 바뀌면서 타입변수 를 선언하고, Object대신 타입변수 E로 바뀌었다. 그래서, 예전에는 next()메서드의 반환타입이 Object였어서 형변환이 필요했으나, 지네릭 클래스로 바뀌고 난 다음부터는 에 를 대입하게 되면서 전과 달리 next()의 반환타입이 Student이므로 참조변수의 타입과 일치하므로 형변환을 하지 않아도 된다. [Ex12_2] HashMap 여러 개의 타입 변수가 필요한 경우, 콤마(,)를 구분자로 선언 HashMap은 타입변수가 2개이다 이처럼 타입변수가 여러개인 경..
HashMap (2)
HashMap (2)
2022.05.03HashMap - 주요 메서드 HashMap은 HashMap()은 생성자를 가지고 있다. HashMap은 해시테이블에 데이터를 저장하는데, 해시테이블 = 배열 + 링크드리스트 이다. HashMap(in initialCapacity)생성자로 배열의 초기용량을 지정해줄 수 있다. HashMap(int initialCapacity, float loadFactor) 생성자로 배열의 초기용량과 용량을 2배증가시킬 loadFactor를 설정 할 수 있다. HashMap(Map m) 생성자는 다른 Map을 HashMap으로 바꿀수 있도록 하는 기능도 제공한다. put(Object key, Object value) 메서드는 key와 value를 묶어서 데이터를 저장할 때 사용한다. putAll(Map m) 메서드는, ..
HashMap (1)
HashMap (1)
2022.05.02HashMap과 Hashtable - 순서 X, 중복(키X, 값O) Map인터페이스를 구현. 데이터를 키와 값의 쌍으로 저장 HashMap과 Hashtable은 둘다 Map인터페이스를 구현한 클래스이다. 데이터를 key와 value의 쌍으로 저장한다. (key, value) Set과 달리 저장순서를 유지하지 않는다. 중복의 경우에는 key는 중복 허용하지 않고, value는 중복을 허용한다. Hashtable은 옛날버전이다. HashMap과 거의 동일하다. 다만, Hashtable은 동기화가 되있고, HashMap은 동기화가 되어있지 않다. 즉, 두 클래스 차이는 동기화 유무에 있다. (자세한 내용은 13장 쓰레드에서 알아보자.) TreeMap은, TreeSet과 같은 특성을 가지고 있다. (이진 탐색 ..