Collection 클래스들 - Set
2023. 7. 18. 16:31ㆍJAVA
Set계열 : 순서X, index X, 중복Data를 허용X
Set은 interface여서 직접 new 생성 불가능
Set인터페이스를 구현한 하위 클래스들 사용
1. HashSet : 순서 X, index X, 중복Data X 성능 Good
2. TreeSet : 저장된 값에 따라 정렬되는 Set
3. LinkedHashSet : 저장된 순서대로 정렬된 Set 성능이 가장 안좋음
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;
public class SetTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Set계열 : 순서X, index X, 중복Data를 허용X
//Set은 interface여서 직접 new 생성 불가능
//Set set = new Set(); //error
//Set인터페이스를 구현한 하위 클래스들 사용
//1. HashSet : 순서 X, index X, 중복Data X 성능 Good
//2. TreeSet : 저장된 값에 따라 정렬되는 Set
//3. LinkedHashSet : 저장된 순서대로 정렬된 Set 성능이 가장 안좋음
//HashSet<String> set = new HashSet<String>();
//TreeSet<String> set =new TreeSet<String>();
LinkedHashSet<String> set = new LinkedHashSet<String>();
// 요소 추가
set.add(new String("aaa"));
set.add("bbb"); //자동 new String()
set.add("ccc");
set.add("ddc");
set.add("ffb");
set.add("bbb"); // 중복데이터
set.add("eee");
set.add("ccc"); // 중복데이터
// 요소 개수
System.out.println(set.size()+ " : " + set.toString());
// 인덱스번호가 없기에.. 요소값을 얻어오는 get()이 존재하지 않음.
//set.get();
// 순차적으로 얻어오는 방법
//방법 1. for each문(확장된 for문)
for(String t : set) {
System.out.println(t);
}
System.out.println();
//방법 2. 반복자(Iterator)를 이용하는 방법
Iterator<String> datas = set.iterator();
while(datas.hasNext()) {
String e= datas.next();
System.out.println(e);
}
System.out.println();
//Set를 사용하는 가장 중요한 이유!!
//중복 데이터를 허용하지 않기에
//블루투스 장치 검색이 중복으로 되지 않는 등의 작업을 할때 사용됨.
}
}
Set를 사용하는 가장 중요한 이유!!
중복 데이터를 허용하지 않기에
블루투스 장치 검색이 중복으로 되지 않는 등의 작업을 할때 사용됨.
'JAVA' 카테고리의 다른 글
| Thread(스레드) (0) | 2023.07.19 |
|---|---|
| Collection 클래스들 - Map (0) | 2023.07.18 |
| Colletion 클래스들 - List (0) | 2023.07.18 |
| Java 고급 문법 - Collection 클래스들 (0) | 2023.07.18 |
| Generic (0) | 2023.07.18 |