컬렉션 프레임워크(3)_ArrayList
2021. 8. 28. 17:48ㆍjava
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>();
특정 인덱스의 객체를 제거/삽입하면 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않음.
사용하는 자료의 변동이 많은 경우 효율적.
'java' 카테고리의 다른 글
입출력(1)_입출력 스트림_바이트 출력스트림 (0) | 2021.08.28 |
---|---|
컬렉션 프레임워크(4)_Stack 클래스와 Queue 인터페이스 (0) | 2021.08.28 |
java.lang 패키지(5)_String 클래스 (0) | 2021.08.28 |
java.lang 패키지(4)_객체 문자 정보 toString() (0) | 2021.08.28 |
컬렉션 프레임워크(2)_HashMap (0) | 2021.08.27 |