Language/Java
[JAVA 20] 자바 가변 배열 ( Collection / 컬렉션) ② Set
reifier.tistory.com 으로 이전하였습니다.
2018. 2. 12. 18:33
반응형
3. 특징
2) Set
(1) ' 순서 ' 가 보존되지 않는다.
(2) ' 중복 ' 이 허용되지 않는다.
ex) 수학에서의 집합
① Generic
② Enhanced Loop ( 강화된 반복분 )
③ Boxing ( AutoBoxing / UnBoxing )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import java.util.*; class SetS1{ // Set Study 1 TreeSet ts = new TreeSet(); void in(){ ts.add("봄"); ts.add("여름"); ts.add("가을"); ts.add("겨울"); ts.add("여름"); } void out1(){ Iterator iter = ts.iterator(); // 오름차순 while(iter.hasNext()){ Object obj = iter.next(); String season = (String)obj; System.out.println("1. season : " + season); } } void out2(){ Iterator iter = ts.descendingIterator(); // 내림차순 while(iter.hasNext()){ Object obj = iter.next(); String season = (String)obj; System.out.println("2. season : " + season); } } public static void main(String[] args){ SetS1 ss1 = new SetS1(); ss1.in(); ss1.out1(); System.out.println(""); ss1.out2(); } } | cs |
여기서
특징적인 것은
1) ' 순서 ' 가 보존되지 않고 ,
1. 오름차순
2. 내림차순
으로 정렬을 시킬 수 있다는 것이다.
2) 그리고 중복이 허용되지 않는다
최근에 입력된 데이터가 이전에 입력된 데이터를 덮어 씐다.
① Generic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import java.util.*; class SetS2{ TreeSet<String> ts = new TreeSet<String>(); // Generic (jdk 5.0 이상) void in(){ ts.add("봄"); ts.add("여름"); ts.add("가을"); ts.add("겨울"); ts.add("여름"); } void out(){ Iterator<String> iter = ts.iterator(); // 오름차순 while(iter.hasNext()){ /* Object obj = iter.next(); // Generic String season = (String)obj; */ String season = iter.next(); System.out.println(" season : " + season); } } public static void main(String[] args){ SetS2 ss2 = new SetS2(); ss2.in(); ss2.out(); } } | cs |
② Enhanced Loop ( 강화된 반복분 )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import java.util.*; class SetS3{ TreeSet<String> ts = new TreeSet<String>(); void in(){ ts.add("봄"); ts.add("여름"); ts.add("가을"); ts.add("겨울"); ts.add("여름"); } void out(){ for(String season : ts){ // Enhanced Loop System.out.println(" season : " + season); } } public static void main(String[] args){ SetS3 ss3 = new SetS3(); ss3.in(); ss3.out(); } } |
③ Boxing ( AutoBoxing / UnBoxing )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import java.util.*; class SetS4{ TreeSet<Integer> ts = new TreeSet<Integer>(); void in(){ ts.add(1); // AutoBoxing ts.add(2); ts.add(3); ts.add(4); ts.add(5); } void out(){ for(int i : ts){ // UnBoxing System.out.println(" i : " + i); } } public static void main(String[] args){ SetS4 ss4 = new SetS4(); ss4.in(); ss4.out(); } } | cs |
반응형