๐ Set
- ๊ฐ์ ํ๋์ฉ ์ ์ฅ
- ์์๋ฅผ ๋ณด์ฅํ์งx ⇒ index๋ฒ์ง๊ฐ ์์
- ์ค๋ณต ํ์ฉ X
- HashSet<์๋ฃํ> set = new HashSet<>();
- index (๋ฒ์ง) ์์ = ์์๋ณด์ฅx
- get/set x
- ์ ๋ ฌ : ์์๊ฐ ์์ด์ ์ ๋ ฌ์ด ์๋๊ธฐ ๋๋ฌธ์, set => list๋ก ๋ณํํด์ ์ ๋ ฌ -> ์ฌ์ฉ
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
public class Set01 {
public static void main(String[] args) {
/* Set ์์๋ณด์ฅx ์ค๋ณตx
* HashSet
* - ํน์ง: index(๋ฒ์ง)๊ฐ ์์
* - get/set์ด ์์
* */
HashSet<String> set = new HashSet<String>();
set.add("apple");
set.add("banana");
set.add("apple");
//์์๊ฐ ์์ง๋ง, ๋ค์ด์ค๋ ์์์๋ฐ๋ผ ๊ฐ์ ๋ฌธ์๊ฐ ๋ค์ด์ค๋ฉด ๋จผ์ ๋ค์ด์จ ๋ฌธ์๊ฐ ์ฌ๋ผ์ง
set.add("peach");
set.add("ํ๊ธธ๋");
set.add("์ด์์ ");
System.out.println(set);
//์ถ๋ ฅ์ ์์์์ด ์ถ๋ ฅ๋จ
//====================================================================
// ์ถ๋ ฅ
for(String tmp: set) {
System.out.println(tmp + " ");
}
Iterator<String> it = set.iterator();
while(it.hasNext());
String tmp = it.next();
System.out.println(tmp + " ");
//------------------------------------------------------------------------------------------
//set์ ๋ ฌ : ์์๊ฐ ์์ด์ ์ ๋ ฌ์ด ์๋๊ธฐ ๋๋ฌธ์, set => list๋ก ๋ณํํด์ ์ ๋ ฌ -> ์ฌ์ฉ
List<String> list = new ArrayList<String>(set);
Collections.sort(list);
System.out.println(list);
//๋ด๋ฆผ์ฐจ์
list.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
});
System.out.println(list);
}
}
๐ TreeSet : ์๋์ผ๋ก set๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ
- first ๊ฐ์ฅ ์์ ์๋ ๊ฐ
- last ๊ฐ์ฅ ๋ค์ ์๋ ๊ฐ
- tailSet(a) a๋ณด๋ค ๋ค์ ์๋ ๊ฐ(ํฐ๊ฐ)
- headset(a) a๋ณด๋ค ์์ ์๋ ๊ฐ(์์๊ฐ)
- subSet(a,b) a~b-1์ฌ์ด์ ์๋ ๊ฐ
- ๋ด๋ฆผ์ฐจ์ ์ ๋ฆฌ
NavigableSet<Integer> desSet = set.descendingSet();
System.out.println(desSet);
import java.util.HashSet;
import java.util.NavigableSet;
import java.util.Set;
import java.util.TreeSet;
public class SetEx02 {
public static void main(String[] args) {
int[] score = {80, 98, 45, 95, 62, 57, 90};
TreeSet<Integer> set = new TreeSet<>();
//์ ์๋ค ์ค ๊ฐ์ฅ ํฐ ์ ์์ ๊ฐ์ฅ ์์ ์ ์ ์ถ๋ ฅ
for(int i=0; i<score.length; i++) {
set.add(score[i]);
}
System.out.println(set);
System.out.println("๊ฐ์ฅ ์์ ์ ์: "+set.first()); // ๊ฐ์ฅ ์์ ์๋ ๊ฐ
System.out.println("๊ฐ์ฅ ํฐ ์ ์: "+set.last()); // ๊ฐ์ฅ ๋ค์ ์๋ ๊ฐ
System.out.println("==================================");
//headSet : ์ง์ ๋ ๊ฐ์ฒด๋ณด๋ค ์์ ๊ฐ ์ถ๋ ฅ, tailSet: ์ง์ ๋ ๊ฐ์ฒด๋ณด๋ค ํฐ๊ฐ ์ถ๋ ฅ
System.out.println(set.tailSet(80));//80๋ณด๋ค ํฐ ๊ฐ (๋ค์ ์๋ ๊ฐ)
System.out.println(set.headSet(80));//80๋ณด๋ค ์์ ๊ฐ(์์ ์๋ ๊ฐ)
//subSet(a,b) : aํฌํจ,b๋ฏธํฌํจ! ๋ ์์ ๋ฒ์ ์์ ์๋ ๊ฐ
System.out.println(set.subSet(70, 90)); //70~89์ฌ์ด์ ๊ฐ
//<๋ด๋ฆผ์ฐจ์ Set>
NavigableSet<Integer> desSet = set.descendingSet();
System.out.println(desSet);
}
}
'JAVA > java' ์นดํ
๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ