1. Set 인터페이스는 데이터의 순서와 상관없이 데이터를 담을 때 사용한다.
2. HashSet도 ArrayList처럼 int를 매개변수로 갖는 생성자를 통하여 데이터 저장 공간을 명시적으로 지정할 수 있다.
3. HashSet에 데이터를 담는 메소드는 add()이다.
4. HashSet의 contains() 메소드를 사용하면 매개변수로 넘긴 값이 존재하는지 확인할 수 있다.
5. HashSet의 데이터를 지우는 메소드는 remove()이다.
6. FIFO는 First In First Out의 약자로 처음 들어온 값이 먼저 나간다는 것을 의미한다.
7. Deque는 Double Ended Queue의 약자이다.
8. LinkedList는 List 인터페이스뿐만 아니라 Queue와 Deque 인터페이스도 구현하고 있다. 즉, 목록형 클래스이기도 하면서 큐의 역할도 수행할 수 있다
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class RandomNumberMaker {
public static void main(String[] args) {
RandomNumberMaker sample = new RandomNumberMaker();
int i = 0;
while(i<10){
System.out.println(sample.getSixNumber());
i++;}
}
public HashSet<Integer> getSixNumber() {
Random random = new Random();
Set <Integer> sample = new HashSet<Integer>();
while(true){
int tempNumber = random.nextInt(45);
sample.add(tempNumber);
if(sample.size()==6) break;
}
// 반환타입이 HashSet<Integer>이고 sample은 Set<Integer>여서 형변환을 해줬음.
// 조상타입 -> 자손타입으로 형변환의 경우 생략 불가능
return (HashSet<Integer>) sample;
}
}
'Java' 카테고리의 다른 글
자바의 신 ch.25 Thread (0) | 2022.05.25 |
---|---|
자바의 신 ch.24 Map (0) | 2022.05.24 |
자바의 신 ch.22 collection - List (0) | 2022.05.23 |
자바의 신 ch.21 제네릭 (0) | 2022.05.18 |
자바의 신 ch.20 자바랭 (0) | 2022.05.17 |