[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에 추가된 요소들이 가나다 순으로 정렬되어 출력된다.

결과

출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?