● ArrayList 선언
- ArrayList 리스트이름 = new ArrayList<클래스타입>();
※ <> : 제네릭
- jdk 5버전 이후부터 도입된 문법
- 클래스 내부에서 사용할 타입을 외부에서 지정하는 기법
- add() 메소드를 만들 때, 매개변수의 타입을 예측할 수 없다.
따라서 해당 부분을 제네릭으로 설정해 두고, 사용자가 ArrayList를 만들면서 타입을 <> 안에 넘겨준다.
● ArrayList vs 일반 배열
- ArrayList는 크기를 마음대로 변화할 수 있다.
- 속도면에서는 일반 배열이 조금 더 빠르다.
실습(ArrayList)
1. ArrayList를 Integer 타입으로 선언하여 메소드 실행
- add(요소)
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<Integer> ar = new ArrayList<>();
// add(요소)
ar.add(10);
ar.add(20);
ar.add(30);
ar.add(40);
ar.add(10);
System.out.println(ar);
}
}
![](https://blog.kakaocdn.net/dn/n11OU/btrr1JerxJu/gEWoFTMURv4oGYZkFlnWlK/img.png)
- add(인덱스, 요소)
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<Integer> ar = new ArrayList<>();
// add(요소)
ar.add(10);
ar.add(20);
ar.add(30);
ar.add(40);
ar.add(10);
ar.add(2, 1000);
System.out.println(ar);
}
}
![](https://blog.kakaocdn.net/dn/wpBqy/btrr4xR0sVI/vs3hG2rTu5d5iFN8HU8rZk/img.png)
- get(인덱스)
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<Integer> ar = new ArrayList<>();
// add(요소)
ar.add(10);
ar.add(20);
ar.add(30);
ar.add(40);
ar.add(10);
System.out.println(ar.get(0));
}
}
![](https://blog.kakaocdn.net/dn/bFZnd2/btrr2XcB2E4/AjNXMv3KA1nZJv7mgWEV6k/img.png)
- remove(인덱스)
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<Integer> ar = new ArrayList<>();
// add(요소)
ar.add(10);
ar.add(20);
ar.add(30);
ar.add(40);
ar.add(10);
ar.remove(1);
System.out.println(ar);
}
}
![](https://blog.kakaocdn.net/dn/ww9hY/btrr9zODWes/ktjGdekaKKoFX6EX2k9Qsk/img.png)
- size()
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<Integer> ar = new ArrayList<>();
// add(요소)
ar.add(10);
ar.add(20);
ar.add(30);
ar.add(40);
ar.add(10);
System.out.println(ar.size());
for(int i = 0; i < ar.size(); i++) {
System.out.println(ar.get(i));
}
System.out.println("--------------------");
for(Integer num : ar) {
System.out.println(num);
}
}
}
![](https://blog.kakaocdn.net/dn/Bw4nH/btrr2tvmWgo/Uu0LWkKBHaf1iDHciaeqC1/img.png)
2. ArrayList를 String 타입으로 선언하여 메소드 실행
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
System.out.println(names.size());
System.out.println(names.isEmpty());
}
}
![](https://blog.kakaocdn.net/dn/6hb4Y/btrr9gWhrP4/r6anUjIgDa6eUin8HulBUK/img.png)