|
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
41
42
43
44
45
46
47
48
|
//set test
package Day_15;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Day15Ex01 {
public static void main(String[] args) {
//set을 사용하기 위한 set선언. set 자체는 인터페이스다
// Key도 없고 index도 없는 Set구조
// Value의 중복이 없다.
// <> 제네릭. 클래스를 만들때 오브잭트 형식으로 만들 수 있다.
// 단, 제네릭으로 지정해주면 지정된 타입으로만 컬랙선에 담는다.
// 사용될 타입을 고정시킨다.
Set<String> set = new HashSet<>();
set.add("오징어");
set.add("꼴뚜기");
set.add("대구");
set.add("명태");
set.add("거북이");
set.add("명태");
// 같은걸 넣으면 크기가 추가되지 않는다.
System.out.println("set의 크기 : "+set.size());
// 열거자로 "반환"한다. 열거자 = Iterator
// Iterator<String> iterator = set.iterator();
// while (iterator.hasNext()) {
// System.out.println(iterator.next());
// }
// iterator가 아닌 배열로 "변환"해서 하기
// 1) 배열로 변환하기 위해 변환할 배열 필요
//제네릭으로 String
// set에 있는 걸 그대로 옮겨담을거니까 set의 size를 그대로 배열 선언
String[] arr = new String[set.size()];
set.toArray(arr); // toArrayT[]제네릭으로, 위에서 선언해준 걸 사용
for(int i = 0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
}
|
cs |
|
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
|
//set을 이용해서 lotto번호 생성기를 만들자
// lotto는 set타입으로 만든다.
// 1 ~ 6 까지의 숫자를 넣어서 테스트하고 1 ~ 45로 변경
package Day_15;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class Ex01_lotto {
public static void main(String[] args) {
Set<Integer> lotto = new HashSet<>();
Random random = new Random();
while(lotto.size()<6) {// 초기값, 증감식 x
lotto.add(random.nextInt(6));
System.out.println(lotto); // 중복값이 나오면 lotto.size가 증가하지 않는다
}
//반복문으로 lotto.size();
// 같은 값은 안나오니까 다른 값이 나오게하려면 ,
Integer[] lottoArr = new Integer[lotto.size()];
lotto.toArray(lottoArr);
for(int i = 0; i<lottoArr.length; i++){
System.out.println("오늘의 lotto 번호는: " + lottoArr[i] );
}
}
}
|
cs |
|
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
|
package Day_15;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class Ex01_lotto2 {
public static void main(String[] args) {
Set<Integer> lotto = new HashSet<> ();
Random random = new Random();
//lotto.size는 lotto.add가 증가될때마다 증가한다.
while(lotto.size()<6) {
lotto.add(1 + random.nextInt(45)); // 0~ 5Rkwl
}
//set은 인덱스도 없고 키도 없어서 정렬이 안된다.
System.out.println(lotto);
}
}
|
cs |