String[] 의 경우 배열의 길이가 정해져있어 유연하게 사용하기 쉽지않음
그래서 ArrayList가 제공된다. ArrayList는 collections Framework에서 제공된다.
import java.util.*;
class Main {
public static void main(String[] args) {
String[] arrayObj = new String[2];
arrayObj[0] = "one";
arrayObj[1]= "two";
for(int i=0;i<arrayObj.length;i++){
System.out.println(arrayObj[i]);
}
//어떠한 type도 담을 수 있다. (1)
ArrayList al2= new ArrayList();
al2.add("haha");
al2.add(1);
for(int i=0;i<al2.size();i++){
System.out.println(al2.get(i));
}
//타입 지정 가능 (2)
ArrayList <String> al= new ArrayList<String>();
al.add("one");
al.add("two");
al.add("three");
for(int i=0;i<al.size();i++){
System.out.println(al.get(i));
}
}
}
arraylist에는 object데이터 타입을 담을 수 있다는 말이다.
그래서 al2.add(" "); 이 부분에서 add의 인자가 Object여야한다.
ArrayList al2= new ArrayList();
al2.add("haha");
al2.add(1);
al2.add("peach");
for(int i=0;i<al2.size();i++){
String temp=al2.get(i);
System.out.println(temp);
}
그래서 이건 좀 타입 안정성이 떨어짐.
해결방법은 제네릭 방식을 쓰는거다.
타입 지정해서 쓰면 된다.