컬렉션 프레임워크(3)_ArrayList

2021. 8. 28. 17:48java

1. ArrayList의 생성

List<E> list = new ArrayList<E>( );

List list = new ArrayList<>( ); 로도 가능

 

2. List 인터페이스의 메소드

기능 메소드 설명
객체 추가 boolean add(E d) 주어진 객체를 맨 끝에 추가
void add(int index, E element) 주어진 인덱스에 객체를 추가
E set(int index, E element) 주어진 인덱스에 저장된 객체를 주어진 객체로 변환
객체 검색 boolean contains(Object o) 주어진 객체가 저장되어 있는지 조사
E get(int index) 주어진 인덱스에 저장된 객체를 리턴
boolean isEmpty() 컬렉션이 비어있는지 조사
int size() 저장되어있는 전체 객체 수를 리턴
객체 삭제 viod clear() 저장된 모든 객체 삭제
E remove(int index) 주어진 인덱스에 저장된 객체 삭제
boolean remove(Object o) 주어진 객체를 삭제

 

3. ArrayList 특징

  • 저장되는 객체 수가 늘어나면 용량이 자동으로 증가(배열과 차이나는 점)
  • 특정 인덱스의 객체를 제거하면 바로 뒤 인덱스부터 마지막 인덱스까지 모두 앞으로 1씩 당겨짐
  • 특정 인덱스에 객체를 삽입하면 해당 인덱스부터 마지막 인덱스까지 모두 1씩 밀려남
    (빈번한 객체 삭제와 삽입이 일어나는 경우 ArrayList 사용보다 LinkedList 사용이 바람직함)

 

4. ArrayList에 저장된 총 객체 수만큼 루핑하기

for(int i = 0; i < list.size(); i++) {
String str = list.get(i);
System.out.println(str);
}

 

 

 

 

 


LinkedList

List<E> list = new LinkedList<E>();

특정 인덱스의 객체를 제거/삽입하면 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않음.

사용하는 자료의 변동이 많은 경우 효율적.