프로그래밍/Java

Java Collection

계발꿈나무 2015. 3. 21. 22:18
반응형

Java Collections API


1. Java Collections 종류

다음 Java Collections API에서 제공하는 Set타입이다. 이는 insert/access할 때, big O notation에 따라 차이가 존재한다.

  • java.util.EnumSet
  • java.util.HashSet
  • java.util.LinkedHashSet
  • java.util.TreeSet

1) Hash Set
  HashSet은 HashMap을 구현하고 있다. 순서 없이 저장한다.

2) LinkedHashSet
  넣는 순서대로 순서를 유지한다는 점에서 HashSet과 다르다. 넣은 뒤로 순서를 바꿀 수 없다.

3) TreeSet
  Collections.sort()로 순서를 정렬할 수 있다.

2. Iterator



1) Set element 탐색

  위의 그림에서 보는 것과 같이 Iterator는 빨간색 화살표이다. item에 직접 접근해 있기보다 item들 사이를 가르키고 있다. 


2) Set element 탐색 코드

  Iterator의 Array, List, Set, Map에서 많이 사용한다. hasNext()는 iterator의 포인터 오른쪽으로 item이 존재하는지 확인한다. 만약 존재하면 next() 메소드를 호출하여 다음 item으로 jump한다. next() 메소드는 존재하는 값을 return하며 다음값으로 jump한다.


Set setA = new HashSet();

setA.add("element 0");
setA.add("element 1");
setA.add("element 2");

//access via Iterator
Iterator iterator = setA.iterator();
while(iterator.hasNext(){
  String element = (String) iterator.next();
}


//access via new for-loop
for(Object object : setA) {
    String element = (String) object; 
}




반응형