본문 바로가기

Java

[Java] 자바 ArrayList 정리

반응형

ArrayList

ArrayList란?

ArrayList란 Collection 프레임워크의 일부이면 java.util 패키지에 포함되어 있다.
자바에서 array는 고정된 크기를 가지지만 ArrayList는 가변적으로 변할 수 있다.
그리고 다양한 메소드를 활용하여 데이터를 관리할 수 있다.

ArrayList 생성

java.util 패키지에 포함되어 있으므로 아래와 같이 import 해준다.

import java.util.ArrayList;

그리고 원하는 데이터 타입을 입력하여 생성해준다.

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

위처럼 Integer를 사용할 수 도 있고, String, Object등 다양한 데이터 타입을 사용할 수 있다.

데이터 삽입

데이터를 삽입할 때는 add 메소드를 사용한다.
add(1)처럼 제일 뒤쪽에 저장할 수 있고,
add(n,1) 처럼 n번째 인덱스에 삽입할 수 도 있다.

  arrayList.add(1);
  arrayList.add(4);
  arrayList.add(1,3);
  arrayList.add(6);
  arrayList.add(7);

1 3 4 6 7

데이터 삭제

특정 인덱스에 있는 데이터를 제거할 때는 remove 메소드를 사용한다.

  arrayList.remove(2) //인덱스가 2, 3번쨰 원소를 제거

1 3 6 7

데이터 변경

데이터를 변경할 때는 변경할 데이터의 인덱스와 변경할 값을 이용해서 set 메소드를 사용한다.

  arrayList.set(3,9)

1 3 6 9

데이터 가져오기

ArrayList에서 데이터를 가져올때는 특정 인덱스에 있는 데이터를 가져오는 get 메소드와
원하는 부분에 데이터들을 잘라서 가져올 수 있는 subList 메소드를 사용한다.
subList는 시작 인덱스와 끝 인덱스에 다음 인덱스를 필요로 한다.
subList(0,2)를 하게되면 인덱스 0부터 인덱스 1까지의 값들을 List 자료형으로 리턴해준다.

  arrayList.get(3);

  List<Integer> list = arrayList.subList(0,2);

9
1 3

데이터 존재 여부 확인

ArrayList에 특정 데이터가 존재하는지 확인하기 위해서는 contains 메소드를 사용하고
데이터가 존재하고 어떤 인덱스에 있는지까지 확인하려면 indexOf메소드를 사용한다.

  arrayList.contains(2);

  arrayList.indexOf(3);

false
1

contains는 존재한다면 true, 존재하지 않는다면 false를 리턴한다.
indexOf는 값이 존재하는 경우 가장 앞에 위치한 인덱스를 리턴하고, 없다면 -1을 리턴한다.

ArrayList 비어있는지 여부 확인

ArrayList가 비어있는지 여부를 확인하기 위해서는 isEmpty메소드와 size메소드를 이용할 수 있다.
isEmpty는 비어있다면 true를 아니라면 false를 리턴해주고,
size는 들어있는 데이터의 개수를 리턴해 주는데 개수가 0이면 비어있다고 볼 수 있다.

반응형

'Java' 카테고리의 다른 글

[Java] 자바 컬렉션 Set  (0) 2022.01.11
[Java] String 클래스 정리  (0) 2022.01.08
[Java] 상속이란?  (0) 2022.01.06
[Java] 변수와 자료형  (0) 2022.01.04
[Java]정규표현식 정리  (0) 2021.08.01