ArrayList<E>의 단점
• 저장소의 용량을 늘리는 과정에서 많은 시간이 소요된다.
• 데이터의 삭제에 필요한 연산과정이 매우 길다.
ArrayList<E>의 장점
• 데이터의 참조가 용이해서 빠른 참조가 가능하다.
// 근데 어차피 대부분 ArrayList를 쓴다고 한다 (❌LinkedList)
ArrayList<int> arr=new ArrayList<int>( ); ❌error❌
LinkedList<int> link=new LinkedList<int>( ); ❌error❌
기본 자료형 정보를 이용해서 제네릭 인스턴스 생성 불가능!
따라서 Wraper 클래스를 기반으로 컬렉션 인스턴스를 생성한다. (Int 말고 ⭕Integer⭕)
- ArrayList <어떤Type> 이름
형식 | 기능 |
이름.get(index) | index에 저장된 저장값 불러오기 |
이름.size | 저장된 요소의 갯수 |
이름.remove(index) | index에 저장된 것 삭제 |
이름.add(추가할값) |
추가 |
이름.add(index, 추가할값) |
index에 추가할 값을 추가 (그 뒤는 index 하나씩 알아서 뒤로 밀림) |
이름.containts(어떤값) | 어떤값이 추가하는지 true/false 반환 |
이름.set(index,수정값) | index 자리에 있는 값을 수정값으로 수정 |
이름.indexOf(특정값) | 특정값이 잇는 index를 반환 |
이름.isEmpty(); | 값을 가지고 있으면 true 아니면 false |
이름clear(); | 모든 원소 삭제 |
package Collection;
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
// 인스턴스 저장을 목적으로 하는 클래스
// List<E> : 저장 순서 유지 (반복문이용 용이), 중복저장 허용
//ArrayList<Integer> list = new ArrayList<Integer>();
//List<Integer> list = new ArrayList();
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
System.out.println("list의 첫번째 요소의 값 : " + list.get(0));
System.out.println("list 요소의 갯수 : " + list.size());
System.out.println("list 출력");
for (Integer i : list) {
System.out.println(i);
}
// 삭제
list.remove(2);
System.out.println("삭제 후 list 출력");
for (Integer i : list) {
System.out.println(i);
}
}
}
<출력>
list의 첫번째 요소의 값 : 1
list 요소의 갯수 : 4
list 출력
1
2
3
4
삭제 후 list 출력
1
2
4
'JAVA > basic' 카테고리의 다른 글
[ 컬렉션 Collection<E> ] TreeSet (0) | 2020.10.23 |
---|---|
[ 컬렉션 Collection<E> ] HashSet (0) | 2020.10.23 |
[ 컬렉션 Collection<E> ] Iterator (0) | 2020.10.23 |
[ 컬렉션 Collection<E> ] 컬렉션 프레임워크 (0) | 2020.10.22 |
generic / 제네릭 (0) | 2020.10.22 |
예외처리 / Exception (0) | 2020.10.21 |
예외처리 / throw (0) | 2020.10.21 |