ArrayList<Integer> integers1 = new ArrayList<Integer>(); // 타입 지정
ArrayList<Integer> integers2 = new ArrayList<>(); // 타입 생략 가능
ArrayList<Integer> integers3 = new ArrayList<>(10); // 초기 용량(Capacity) 설정
ArrayList<Integer> integers4 = new ArrayList<>(integers1); // 다른 Collection값으로 초기화
ArrayList<Integer> integers5 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5))
; // Arrays.asList()
ArrayList를 생성한 후 add() 메소드로 엘레멘트를 추가할 수 있습니다.
또한 set() 메소드로 기존에 추가된 값을 변경하는 것도 가능합니다.
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
// add() method
colors.add("Black");
colors.add("White");
colors.add(0, "Green");
colors.add("Red");
// set() method
colors.set(0, "Blue");
System.out.println(colors);
}
}
제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할 수 있다.
클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. 즉, 관리하기가 편하다.
비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다.
제네릭에서 많이 쓰는 타입

public class Book {
String title;
int price;
public Book() { } // 기본생성자
public Book(String title, int price) { // 매개변수를 가진 생성자
this.title = title;
this.price = price;
}
public void showPrice() {
System.out.println(title + "의 가격은 " + price + "원 입니다");
}
}
