본문 바로가기
Java

[Java] ArrayList 사용법

by asdft 2024. 2. 18.

List 인터페이스

중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현

 

https://velog.io/@roro/Java-List-ArrayList-LinkedList

 

[Java] - List / ArrayList / LinkedList

중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현 List 인터페이스 구현 클래스 저장순서 유지, 중복 허용 컬렉션 프레임워크에서 가장 많이 사용되는 컬렉션 클래스일반 배열과 인덱스로

velog.io

 

ArrayList란?

ArrayList는 자바의 컬렉션 프레임워크의 일부로 List 인터페이스를 상속받은 클래스 중 하나이다.

 

ArrayList는 한번 생성하면 크기가 고정되는 배열과 다르게 부족한 공간을 자동으로 조정해주는 선형리스트 이다.
배열은 데이터를 추가, 삭제 시 반복문으로 인덱스를 한칸씩 밀거나 당기는 식으로 공간을 조절하지만 ArrayList는 이 과정을 자동으로 처리해주어 사용이 편리하다.

 

ArrayList 사용법

ArrayList<Integer> list = new ArrayList<Integer>();   
ArrayList<String> list2 = new ArrayList<>();         // 타입 생략 가능
ArrayList<Person> list3 = new ArrayList<>();         // 타입으로 클래스도 가능

 

선언시 자료의 안정성을 위해 제네릭(Generic)방식으로 타입을 미리 지정해주어 같은 타입의 객체들만 리스트에 추가하도록 할 수 있다.

 

ArrayList 데이터 추가

ArrayList<Integer> list = new ArrayList<>();

list.add(1);     // 데이터 추가
list.add(3);
list.add(1, 2);  // 1번 indexdp 2 추가

 

ArrayList 데이터 삭제

ArrayList<Integer> list = new ArrayList<>();

list.add(1);     
list.add(2);
list.add(3);

list.remove(2);                 //2번 인덱스의 데이터 삭제
list.remove(list.indexOf(1));   //1을 가지고 있는 인덱스를 리턴하여 삭제
list.clear();                   //리스트의 모든 데이터 삭제

 

ArrayList 값 가져오기

ArrayList<Integer> list = new ArrayList<>(Arrays.asList(2, 4, 6, 8, 10));

System.out.println(list.get(3));    //3번 인덱스에 위치한 값 출력, 8
System.out.println(list.get(0));    //0번 인덱스에 위치한 값 출력, 2

 

ArrayList 사이즈 확인

ArrayList<Integer> list = new ArrayList<>(Arrays.asList(2, 4, 6, 8, 10));
System.out.println(list.size());   //5

list.add(12);
System.out.println(list.size());   //6

 

ArrayList 특정 값을 포함하는지 검색

ArrayList<Integer> list = new ArrayList<>();

list.add(1);     
list.add(2);
list.add(3);

int index = list.indexOf(2);          //원하는 값의 인덱스를 리턴, 없는 경우 -1 리턴, 1
boolean contains = list.contains(3);  // 특정 값이 있는지 확인, true

 

ArrayList 값 출력

ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
System.out.println(list);             //list 전체 출력
System.out.println(list.get(3));      //3번 인덱스에 위치한 값 출력

for (int item: list) {          
	System.out.print(item + " ");          //1 2 3 4 5 
}

Iterator iter = list.iterator();           //Iterator를 사용하는 경우
while (iter.hasNext()) {
	System.out.print(iter.next() + " ");   //1 2 3 4 5 
}

 

 

 

[참고]

https://velog.io/@rara_kim/Java-ArrayList-%EC%82%AC%EC%9A%A9%EB%B2%95