-
[JAVA] ArrayListJAVA 2021. 8. 19. 01:23
ArrayList란?
기존의 Vector를 개선한 것이며, Object 배열을 이용해서 데이터를 순차적으로 저장한다.
배열과 동일하게 인덱스는 0부터 사용하며, 배열과 다른점은 크기를 동적할당 하는것이 가능하다.
ArrayList 생성
import java.util.ArrayList; ArrayList<Integer> lis1 = new ArrayList<Integer>(); // 자료형을 지정 ArrayList<Integer> list2 = new ArrayList<>(); //자료형 생략도 가능 ArrayList<Integer> list3 = new ArrayList<>(10); //초기용량 설정
나머지는 코드로 확인해보자
Class Main{ public static void main(String[] args) { ArrayList list1 = new ArrayList(10); list1.add(new Integer(5)); list1.add(new Integer(4)); list1.add(new Integer(2)); list1.add(new Integer(0)); list1.add(new Integer(1)); list1.add(new Integer(3)); ArrayList list2 = new ArrayList(list1.subList(1, 4)); // 1부터 4사이의 값들을 반환 print(list1, list2); Collection.sort(list1); //정렬 Collection.sort(list2); print(list1, list2); //list2가 list1의 모든 요소를 가졌는지 여부 System.out.println("list1.containsAll(list2) : " + list1.containsAll(list2)); list2.add("B"); list2.add("C"); list2.add(3, "A"); //인덱스를 지정해서 값 넣기 print(list1, list2); list2.set(3, "AA"); //주어진 객체를 지정된 위치에 저장 print(list1, list2); //list1에서 list2와 겹치는 부분만 남기고 나머지는 삭제한다. System.out.println("list1.retainAll(list2): " + list1.retainAll(list2)); print(list1, list2); //list2에서 list1에 포함된 객체들을 삭제한다. 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(); } }
※JDK .1.5부터는 타입을 지정하지않고 ArrayList를 사용하면 에러가 난다!!
만약 타입을 지정하지 않고 여러가지 타입을 사용하겠다 하면 제네릭을 사용하면된다.
제네릭은 추후 정리할 예정이다.
728x90반응형'JAVA' 카테고리의 다른 글
ArrayList (0) 2022.06.26 [JAVA] iterator (0) 2021.09.30 [JAVA] println, print 차이 (0) 2021.08.08 인터페이스 (interface) (0) 2021.07.11 추상클래스(abstract class) (0) 2021.07.03