2022. 10. 14. 21:17ㆍJava 프로그램
2편 이어서 시작하겠습니다~
Set 컬렉션
- 수학의 집합의 개념과 유사합니다.
- 저장 순서가 없습니다.
- 객체의 중복 저장을 허용하지 않습니다.
- 하나의 null만 저장이 가능합니다.
구현클래스)
Hashset, LinkedHashSet, TreeSet
주요 메소드 확인 하겠습니다.
얼핏 보면 List 컬렉션의 주요 메소드와 비슷하다는 것을 알 수 있을 것 입니다. 그래도 꼭 확인하고 넘어가 주세요
다른점 중 하나는
- 전체 객체 대상으로 한 번씩 반복해 가져오는 Iterator가 있습니다.
- 인덱스로 객체를 검색해서 가져오는 메소드가 없습니다.
1) HashSet
- 동일 객체 및 동등 객체는 중복을 허용하지 않습니다.
- Set<E> set = new HashSet<E>();
연습해 보겠습니다!
Set<String> set = new HashSet<String>();
set.add("짱구");
set.add("맹구");
set.add("철수");
set.add("유리");
set.add("훈이");
int size = set.size();
System.out.println("총원소수 : " + size);
Iterator<String> it = set.iterator();
while(it.hasNext()) {
String e = it.next();
System.out.println(e);
}
System.out.println();
set.remove("훈이");
//향상된 for문 사용 가능
for(String e : set) {
System.out.println(e);
}
우선
1. add 메소드를 사용하여 {짱구,맹구,철수,유리,훈이} 를 추가하였습니다.
2. 그 후 size() 메소드를 통해 갯수를 확인하였고
3. Iterator 메소드를 사용하여 객체를 한번씩 가져왔습니다.
=> while( it.hasNext()) => Iterator 인 it 에서 다음 객체가 존재한다면 실행될 수 있도록 코딩 한 것입니다.
하나씩 객체를 확인해 가면서 String e 변수에 저장한 후 저장된 e를 출력하는 방식으로 모든 데이터를 출력한 것입니다.
4. Iterator 메소드가 아닌 향상된 for문으로도 출력이 가능함을 증명한 코드 입니다.
=> 차이점을 두기위해 remove() 객체를 삭제하여 출력해 봤습니다.
결과 확인하겠습니다!
이렇게 Set 은 간단하게 마무리 하고 3편에서는 Map 컬렉션을 다뤄보겠습니다.
감사합니다~😎
'Java 프로그램' 카테고리의 다른 글
IO기반 입출력(자바 마무리) (0) | 2022.11.21 |
---|---|
자바 Collection(컬렉션) 1편(컬렉션 개념 및 List) (1) | 2022.10.13 |
제네릭(Generic) 2편 마무리 (0) | 2022.10.12 |
제네릭(Generic) 1편[제네릭 기본] (0) | 2022.10.12 |
자바 기본 API 3편<마지막> (StringTokenizer~Date 클래스) (0) | 2022.10.12 |