ArrayList : List를 인덱스 저장방식으로 구현한 자료구조 방식
List<E> list = new ArrayList<E>();
List<E> list = new ArrayList<E>(20); //capacity = 20
ArrayList 참조변수명.add(2) //2가 추가 기존값들은 뒤로 1인덱스씩 밀려남
ArrayList 참조변수명.set(1,4) //인덱스 1위치에 데이터를 4로 수정
💡 객체수가 많을시, 인덱스 조정이 많으므로 LinkedList 사용이 유리 but 인덱스를 이용하여 검색을 하거나 마지막에 객체 추가시에는 ArrayList가 더 좋은 성능을 발휘
ArrayList 참조변수명.remove() //인덱스 1위치에 데이터를 삭제
List<Integer> aList1 = Arrays.asList(1,2,3,4);
aList1.set(1,7); //인덱스 1 위치에 Integer 데이터 7 update
aList.add(5) //error - UnsupportedOperationException
aList.remove(0) // error - UnsupportedOperationException
Vector : List + 메서드 동기화로 표현되는 자료구조방식
List<E> list = new Vector<E>();
List<E> list = new Vector<>(); //왼쪽 List에 저장된 타입을 따라감
Board 객체를 저장하는 Vector
public class VectorExample{
public static void main(String[] args){
List<Board> list = new Vector<Board>();
list.add(new Board("제목","내용1","글쓴이"));
list.remove(2);
}
}
LinkedList : List 저장방식을 앞뒤 객체의 정보로 저장한 자료구조방식
List<Integer> linkedList1 = new LinkedList<Integer>();
