반응형
콜렉션(Collection)
- 여러 원소를 담을 수 있는 자료구조
- List, Set, Queue로 크게 3가지 인터페이스로 분류.
- Map은 collection 인터페이스를 상속받고 있지 않지만 collection으로 분류 한다.
[배열과의 차이점] 배열은 정적으로 메모리 할당. 콜랙션은 동적으로 메모리 할당.
콜렉션의 종류
Set
- 순서가 없다.
- 중복을 허용하지 않는다
package D04;
import java.util.*;
public class SetEx {
public static void main(String[] args) {
Set<Member> set = new HashSet<>();
set.add(new Member("홍길동", 30));
set.add(new Member("김덕배", 15));
set.add(new Member("홍길동", 30));
Iterator it = set.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
System.out.println("저장갯수는 : "+set.size());
}
}
HashSet
- 내부적으로 해싱을 이용해 구현 된 클래스
- set 파생 클래스에서 가장 성능이 우수하다.
package D04;
import java.util.*;
public class HashsetEx2 {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
set.add("java");
set.add("servlet");
set.add("Spring");
System.out.println("셋의 사이즈(총갯수)"+set.size());
Iterator<String> it = set.iterator();
while(it.hasNext()) {
System.out.println("\\t"+it.next());
}
set.remove("spring");
System.out.println("셋의 사이즈(총갯수)"+set.size());
set.remove("Spring");
System.out.println("셋의 사이즈(총갯수)"+set.size());
it = set.iterator();
for(String e : set) {
System.out.println("\\t"+e);
}
set.clear();
if(set.isEmpty()) System.out.println("비었음");
}
}
TreeSet
- 레드-블랙 트리(이진 트리의 일종) 구조이다.
- 삽입, 삭제 시 log(n)
반응형
'JAVA' 카테고리의 다른 글
[JAVA] Collection(Stack) (0) | 2023.07.18 |
---|---|
[JAVA] Collection(Queue) (0) | 2023.07.18 |
[JAVA] Collection(List) (0) | 2023.07.18 |
[JAVA] 박싱(Boxing) & 언박싱(UnBoxing) (0) | 2023.07.18 |
[JAVA] Wrapper class (0) | 2023.07.18 |