JAVA

JAVA - ArrayList 사용법

Cong_S 2022. 7. 6. 17:43

ArrayList란 Collection 프레임워크의 일부이며 java.util 패키지에 소속되어 있다.


Java 표준 배열은 생성 시에 갯수를 정해줘야 한다.
ex. String[] nameArray = new String[10]; 

배열은 생성 시 정해진 갯수를 초과하면 데이터가 더 이상 저장이 되지 않는다.

 

따라서 갯수를  정하지 않고 데이터를 마음대로 추가하고 삭제할 수도 있는 것 배열이 필요했고

그래서 만들어진 것이 ArrayList(어레이 리스트) 이다.

 

특징은 다음과 같다.

- 표준 배열보다는 느리지만 배열에서 많은 조작이 필요한 경우 유용하게 사용할 수 있다.

- List 인터페이스에서 상속받아 사용한다.

- ArrayList는 객체가 추가되어 용량을 초과하면 자동으로 부족한 크기만큼 용량이 늘어난다.

 

선언하는 방법

import java.util.ArrayList;

// 담고 싶은 데이터를 <> 에 담아야 한다. << 클래스를 뜻함
// 비어있는 리스트를 만든다.
ArrayList<String> nameList = new ArrayList<String>();

import 해주고

위와 같은 코드를 작성할 때에 <  > 안에 데이터 타입을 명시하여야하고 명시된 데이터타입의 데이터만 저장할 수 있다.

 

// 데이터 추가하기
nameList.add("홍길동");
nameList.add("김나나");
nameList.add("Mike");

add 메소드로 데이터를 추가할 수 있다.

 

// 데이터 가져오기
System.out.println(nameList.get(2));

get 메소드로 데이터를 가져올 수 있다.

 

// ArrayList의 모든 데이터 출력하기
// nameList.size() 는 저장되어있는 데이터의 갯수를 뜻한다.

for(int i = 0; i < nameList.size(); i++ ) {
    System.out.println(nameList.get(i));
}

size 메소드로 데이터의 갯수를 가져올 수 있고, 위 코드는 이를 응용하여 리스트 내의 모든 데이터를 가져오는 코드이다.

 

// 원하는 위치에 데이터 입력하기
nameList.add(1, "Harry");

add메소드를 사용하고, 앞의 숫자는 index 번호로 원하는 위치의 index를 입력하면 된다.

 

 

// 데이터 삭제하기
nameList.remove(0);

remove 메소드를 사용해 index 번호를 입력하여, 원하는 데이터를 삭제할 수 있다.

 

// 리스트의 데이터 전부 삭제
nameList.clear();

clear 메소드로 데이터를 모두 삭제 할 수 있다.

 

if(nameList.isEmpty()) {
    System.out.println("데이터가 비어있습니다.");
} else {
    System.out.println("데이터가 있습니다.");
}

isEmpty 메소드로 리스트가 데이터가 있는지 없는지 True, False로 확인할 수 있다.