< Set >
- 특징 :
- 순서를 가지지 않음
- 중복을 허용하지 않음
1. HashSet : 일반적으로 많이 사용하는 Set 자료구조
2. LinkedHashSet : Set은 중복을 허용하지 않고 순서를 가지지 않지만 LinkedHashSet은 중복은 허용되지 않지만 들어온 대로 순서를 가진다.
3. TreeSet : 데이터를 정렬하여 저장
4. Queue : FIFO(First-In-First-Out) 구조
데이터의 중복을 허용하지 않는데 서로 다른 객체로 인식하여 중복 입력되는 것을 막기위해 hashcode, equals 오버라이딩을 필요로 한다.
//hash특징과 set특징이 합쳐짐
//Set : 데이터 들어가는 순서가 랜덤, 중복되는 값 입력 불가
/*
//HashSet set = new HashSet();
//제네릭 적용
HashSet<String> set = new HashSet<String>();
//타입이 다르면 다른 데이터로 인식
set.add("1");
set.add("2");
set.add("1");
set.add("4");
//set.add(new Integer(1)); //순서대로 들어간 것 아니다.
System.out.println(set);
// for(Object obj : set) {
// String str = (String)obj;
// System.out.println(str);
// }
Iterator<String> it = set.iterator();
while(it.hasNext()) {
//String str = (String)it.next();
String str = it.next(); //제네릭 적용시 캐스팅 x
}
*/
//TreeSet : 트리구조의 컬렉션이 가지는 특징 :
//값이 정렬되어진다.
//반드시 값으로 사용되는 해당 클래스 안에는 정렬 조건이 오버라이딩 되어있어야 한다.
//implements Comparable (Integer,String)
/*
TreeSet set = new TreeSet();
set.add(new Integer(2)); //오토박싱이 되어서 생략한 것. wrapper 타입으로 써야함
set.add(5);
set.add(1);
set.add(4);
set.add(3);
System.out.println(set);
Iterator it = set.iterator(); //타입 동일하게 설정 컬렉션에 제네릭을 적용하는것
while(it.hasNext()) {
Integer intg = (Integer)it.next();
System.out.println(intg);
}
*/
'java' 카테고리의 다른 글
List to Array (0) | 2023.05.26 |
---|---|
정규표현식 (0) | 2023.02.26 |
Properties (0) | 2022.10.12 |
Collection(Map) (0) | 2022.10.12 |
Iterator (반복자 패턴) (0) | 2022.10.11 |