프로그래밍/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;
}
반응형