Set : 중복을 허용하지 않는다. 순서 관리가 되지 않는다.
Set은 추상인터페이스로 직접생성이 불가능
소스
public static void main(String[] args) {
// 데이터의 정렬이 필요치 않을 경우
//Set set = new HashSet<>();
// 데이터 정렬이 필요할 경우
Set set = new TreeSet<>();
// add가 됬을경우 true
System.out.println(set.add("one"));
System.out.println(set.add("two"));
System.out.println(set.add("three"));
System.out.println("크기 : " + set.size());
// 같은값을 허용하지 않기 때문에 false 반환
System.out.println(set.add("two"));
System.out.println("크기 : " + set.size());
System.out.println(set.add("four"));
System.out.println(set.add("five"));
// set에도 재정의된 toString이 있다.
// 저장된 데이터에 대한 정렬을 하지 않는다.
System.out.println(set);
// 순서의 개념이 없어 인덱스를 받지 않고 객체를 받아 처리
// remove(Object) 형태밖에 제공되지 않는다.
// 따라서 아래의 코드는 remove(new Integer(1))로 변환되어 같은 객체를 삭제 요청한다.
//set.remove(1); // 인덱스 위치 개념이 아님
set.remove("one");
System.out.println(set);
for(int i=0 ; i<set.size(); i++)="" {="" 인덱스="" 개념이="" 없기="" 때문에="" 이="" 방식으로는="" 출력="" 불가="" }="" system.out.println("-------------------");="" for(string="" data="" :="" set)="" system.out.println(data);="" iterator="" 방식="" 접근="" 가능="" iterator<string=""> ite = set.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}
System.out.println("-------------------");
}
</set.size();>
결과
true
true
true
크기 : 3
false
크기 : 3
true
true
[five, four, one, three, two]
[five, four, three, two]
-------------------
five
four
three
two
-------------------
five
four
three
two
-------------------
Java - IO, java.io.File, 경로 확인과 폴더 생성 (0) | 2018.10.01 |
---|---|
Java - Stack (LILO, 후입후출) (0) | 2018.09.28 |
Java - List, ArrayList 사용, Iterator 사용 (순환자) (0) | 2018.09.28 |
Java - Collection Framework (0) | 2018.09.28 |
Java - Generic (0) | 2018.09.28 |
댓글 영역