728x90
728x90
2022.11.28 - [초보 개발자의 스터디룸] - [Java] Collections Framework(List, Set, Map)이란?
ArrayList는 Object 배열을 이용해 데이터를 순차적으로 저장한다.
첫 번째로 저장한 객체는 Object배열의 0번째 위치에 저장되고 그 다음에 저장하는 객체는 1번째 위치에 저장된다. 배열에 더이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존 배열에 저장된 내용을 새로운 배열로 복사한 다음 저장된다.
- index 시작은 0 : 일반 배열과 동일
- ArrayList 크기 가변적으로 변동 : 일반 배열은 크기 고정
다음 예제를 통해 ArrayList 내 메서드들을 확인해보자.
[출처] Java의 정석 3판 p.585
import java.util.*;
public class Q {
public static void main(String[] args) {
ArrayList list1 = new ArrayList(10); //1
list1.add(5);
list1.add(4);
list1.add(2);
list1.add(0);
list1.add(1);
list1.add(3);
ArrayList list2 = new ArrayList(list1.subList(1, 4));
print(list1, list2);
Collections.sort(list1);
Collections.sort(list2);
print(list1, list2);
System.out.println("list1.containAll(list2) : "+ list1.containsAll(list2));
list2.add("B");
list2.add("C");
list2.add(3,"A");
print(list1, list2);
list2.set(3, "AA");
print(list1, list2);
System.out.println("list1.retainAll(list2) : " +list1.retainAll(list2));
print(list1, list2);
for(int i=list2.size()-1; i>=0; i--) {
if(list1.contains(list2.get(i))) {
list2.remove(i);
}
}
print(list1, list2);
}
static void print (ArrayList list1, ArrayList list2) {
System.out.println("list1 : " + list1);
System.out.println("list2 : " + list2);
System.out.println();
}
}
//1 : ArrayList 생성
✓ ArrayList를 선언하는 다양한 방식
ArrayList<Integer> integers1 = new ArrayList<Integer>(); // 타입 지정
ArrayList<Integer> integers2 = new ArrayList<>(); // 타입 생략 가능
ArrayList<Integer> integers3 = new ArrayList<>(10); // 초기 용량(Capacity) 설정
ArrayList<Integer> integers4 = new ArrayList<>(integers1); // 다른 Collection값으로 초기화
ArrayList<Integer> integers5 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5)); // Arrays.asList()
✓Arrays.asList란? : 일반 배열을 ArrayList로 변환하는 기능
ArrayList integers5 선언 시 (1, 2, 3, 4, 5)를 ArrayList로 변환하여 바로 integers5에 삽입하였다.
728x90
[출처]
https://psychoria.tistory.com/765
https://m.blog.naver.com/roropoly1/221140156345
728x90
728x90
'초보 개발자의 스터디룸' 카테고리의 다른 글
[Java] 오름차순과 내림차순(sort, reverseOrder, reverse) (0) | 2022.12.04 |
---|---|
[Java] ArrayList - 2(다양한 메서드 : subList, add, remove) (0) | 2022.11.28 |
[Java] Collections Framework(List, Set, Map)이란? (1) | 2022.11.28 |
[Java] Split() 함수 (0) | 2022.11.28 |
[2022 전자정부 프레임워크 컨트리뷰션] 전자정부 프레임워크 (0) | 2022.08.06 |