# 리뷰: 로또 번호 생성 ArrayList의 <>에 들어갈 객체 타입이라는게 뭔지 잘 모르겠는데, 어떤 값을 참고해서 기입해 줘야 하나요? #### CODE <a class='btn btn-default' href='/codes/56518'>Link</a> ``` import java.util.Collections; import java.util.Arrays; import java.util.ArrayList; public class SimpleLottoMachine { public static void main(String[] args) { // 45개의 공을 만든다 ArrayList <Integer> balls = new ArrayList <Integer>(); for (int i = 1; i <= 45; i++){ balls.add (i); } // 섞는다 Collections.shuffle(balls); // 뽑는다 int [] picked = new int [6]; for (int i = 0 ; i < 6; i++){ picked[i]=balls.get(i); } // 결과 출력 System.out.printf ("자동 생성 번호: %s", Arrays.toString(picked)); } } ``` #### INPUT ``` ``` #### OUPUT ``` 자동 생성 번호: [13, 18, 10, 36, 39, 1] ```
### 제네릭(꺽쇠 <>) 안에 저장할 객체의 타입은 클래스 또는 인터페이스를 넣으면 됩니다. 예를 들어, "문자열"이나 "정수"를 저장하고 싶은 경우 다음과 같이 작성할 수 있습니다. ``` // 문자열(String) 저장을 위한 ArrayList ArrayList<String> names = new ArrayList<String>(); // 정수(Integer) 저장을 위한 ArrayList ArrayList<Integer> numbers = new ArrayList<Integer>(); // 사용자가 정의한 클래스 Foo를, 객체로 저장할 ArrayList ArrayList<Foo> numbers = new ArrayList<Foo>(); ``` 덧붙여 기본형 변수의 경우 객체가 아닙니다. 따라서 ArrayList에 담을 수 없습니다. 이 경우엔 기본 타입을 클래스화 한 "래퍼(Wrapper) 클래스"를 사용해야 합니다. | int | double | boolean | char | byte | short | float | |:--:|:--:|:--:|:--:|:--:|:--:|:--:| | Integer | Double | Boolean | Char | Byte | Short | Float | 더 자세한 내용은 "자바 제네릭", "자바 래퍼 클래스" 정도로 구글링해보세요.