배열과 리스트
배열(Array)

- 인덱스를 활용하여 값에 바로 접근 가능
- 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 주위 인덱스 값을 이동시키는 과정이 필요
- 배열 크기 지정이 가능하여 한번 선언하면 크기를 늘리거나 줄일 수 없다.
- 구조가 간단하다.

Code
public class ArrayInJava {
public static void main(String[] args) {
String[] S = {"A", "B", "C", "D", "E"};
System.out.println(S[0]);
System.out.println(S[1]);
String[] SS = new String[3];
SS[0] = "AA";
SS[1] = "BB";
}
}
리스트(List)

- 인덱스가 없어서 head 포인트부터 순서대로 접근해야한다.
- 데이터를 삽입하거나 삭제하는 연산 속도는 빠르지만 검색은 느리다.
- 크기를 지정해주지 않아도 되며 크기가 자주 변하기 쉬운 데이터를 다룰 때 적절하다.
- 배열보다 구조가 복잡하다.

Code
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Stack;
import java.util.Vector;
List<String> listA = new ArrayList<String>();
List<String> listB = new LinkedList<String>();
List<String> listC = new Vector<String>();
List<String> listD = new Stack<String>();
~~~
List<String> listA = new ArrayList<String>();
listA.add("홍길동");
listA.add("흥부");
listA.add(new String("놀부"));
listA.add(1, "1번째 값");
listA.get(0);
listA.get(1);
listA.get(2);
listA.get(3);
listA.remove(0);
listA.remove("홍길동");
listA.contain("흥부");
listA.contatin("제비");
Reference