반응형
ArrayList
- 이름에 array배열이 들어가 있는 걸 보면 알 수 있듯이, 데이터의 저장공간을 배열을 사용한다.
- 저장순서 index를 가진다.
- 중복을 허용한다.
- 요소가 추가되면 저장공간이 자동으로 늘어난다.
ArrayList클래스에 있는 메서드 뿐아니라 Collection클래스에 있는 메서드도 상속되어 사용할 수 있습니다.
선언방법
- 기본생성
→ List lst1 = new ArrayList<>(); - 용량지정 생성
→ List lst2 = new ArrayList<>(3); - 다른 Collection을 담아서 생성할 수 있다.
LinkedList, vector 등도 추가 가능.
→ List<String> lst3 = new ArrayList<>(lst2);
add(element)
: 뒤에서 부터 요소를 추가한다.
add(index, element)
: 원하는 위치에 요소를 추가한다.
❗ 원하는 index위치에 추가하고 나면 뒤의 요소들이 뒤로 밀려납니다.
addAll(Collection)
: collection(arrayList, linkedList, vector 등) 추가 가능.
addAll(index, Collection)과 같이 원하는 위치에 추가 가능합니다.
remove(index or Object)
: 해당 요소를 지운다.
❗ remove()를 사용하면 지워지는 index 뒤의 값들을 복사해 앞에 붙이고 size를 줄인다.
따라서 만약 뒤의 값들을 지울 경우, 뒤의 값부터 하나씩 지우는 게 효율이 좋다.
removeAll(Collection c)
: 인수에 포함되는 요소를 리스트에서 지웁니다.
clear()
: 모든 요소 삭제
get(index)
: 요소를 가져온다.
set(index, new element)
: 요소를 변경.
- 원하는 index위치의 요소를 변경한다.
- 이 때 변경된(삭제된) 값을 반환한다.
indexOf(찾는 값)
: 찾는 값의 index를 반환.
- indexOf() 와 lastIndexOf() 의 기능은 동일합니다.
- 차이는 lastIndexOf()는 뒤부터 검색하기에, 뒤쪽에 있는 값을 검색할 때 더 빠르다는 겁니다.
contains(찾는 값)
: 찾는 요소가 포함되어 있는 지 boolean반환.
subList(fromIndex, toIndex)
: 해당 구간 index의 요소로 새로운 리스트를 만든다.
toArray()
: List→Array로 형변환해 반환한다.
isEmpty()
: 모든 요소가 비어있는 지 boolean을 반환.
- 리스트 안의 모든 요소가 비어있을 때 true를 반환합니다.
- null이랑은 다릅니다.
trimToSize()
: 빈 공간을 제거한다.
- size()를 찍으면 0으로 나오지만, 실제 용량은 초기화할 때 적은 10입니다.
- 실제로 lst1에 요소가 한개가 들었고 나머지 용량은 필요없을 때 trimToSize()를 사용합니다.
- 그려면 이 보이지 않는 빈 공간들이 사라집니다.
타입을 List로 하면 사용이 안되네요.
반응형
'☕ JAVA > ☕ Variables & Data Type' 카테고리의 다른 글
[JAVA]LinkedList와 Queue (0) | 2024.11.19 |
---|---|
[JAVA]NULL (0) | 2024.11.19 |
[JAVA]Vector란? (0) | 2024.11.18 |
[JAVA]Collections 종류 (0) | 2024.11.17 |
[JAVA]Autoboxing & Unboxing (0) | 2024.11.12 |