[JAVA] HashMap 그리고 HashSet
[JAVA] HashMap 그리고 HashSet
HashMap
- HashMap에 요소를 삽입하고 검색하기 위해서는 put(), get()메소드를 이용한다
느낌이 파이썬의 딕셔너리같은...
- HashMap<Key,Value>는 List<E> 인터페이스를 상속받은 Vector<E>나 ArrayList<E>와 달리 인덱스를 이용해서 요소를 접근할 수 없고 오직 '키'로 검색해야 하기 때문에 위치나 순서는 중요하지 않다.
- E : the type of elements maintained by this set
HashMap<Key, Value> 클래스의 주요 메소드
HashSet
- 중복 없이 자료를 저장하고 싶을 때 사용함
- 순서가 필요없는 데이터를 hash table에 저장. Set중에 가장 성능이 좋음
- 저장된 순서에 따라 값이 정렬되는 것은 LinkedHashSet
Iterator
- 컬렉션의 순차 검색을 위한 Iterator
- Vector, ArrayList, LinkedList, Set과 같은 리스트 모양의 컬렉션에서 요소를 순차적으로 검색할 때 java.util 패키지의 Iterator<E> 인터페이스를 사용함
Iterator <E> 인터페이스의 주요 메소드
- 복잡한 저장구조를 가지고 자료가 표현되어 있을 때, 저장구조와 상관없이 데이터 전체를 간편하게 순회할 때 참조값만을 가진 배열 객체를 만들어 놓은 것
- 일회성으로 값을 가져오면 없어진다
예제 |
출력 결과 중복되는 사과의 값이 두번 출력되지 않는다.
Iterator로 set에 추가된 요소들이 가나다 순으로 정렬되어 출력된다.
결과 |
출처
댓글
댓글 쓰기