JAVA List 초기화 및 데이터 등록 방법

JAVA에서 List를 선언하고 사용 하는 방법을 알아보도록 하겠습니다.

우선 List를 선언 하는 방법을 보겠습니다.

List <데이터형> 변수명 = new ArrayList <데이터형>();

 

List를 선언하려면 List요소의 데이터형을 지정할 필요가 있습니다.

List요소의 데이터형에는 Integer형과 String형 등의 데이터형을 지정합니다.

List 오브젝트는 ArrayList클래스 등에서 생성한 인스턴스를 저장합니다.

인스턴스를 생성할 때는 new연산자를 사용합니다.

예를 들면 String형의 요소를 가진 List인 경우는 다음처럼 작성합니다.

List<String> list = new ArrayList<String>();

 

이번에는 List를 초기화 하면서 asList를 사용해 값을 추가하는 방법을 보겠습니다.

작성 방법은 다음과 같습니다.

List <데이터형> 객체 이름 = new ArrayList <데이터형>(Arrays.asLis (요소[0], 요소[1],…);

샘플을 보면서 확인해보겠습니다.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class Main {
 
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>(Arrays.asList("Banana", "Orange", "Melon"));
        
        for(int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
 
}

 

결과

Banana
Orange
Melon

 

List를 초기화와 동시에 문자열을 추가했습니다.

하지만 주의점이 있습니다.

아래와 같은 방법으로 초기화한 경우는 List의 크기가 고정이 됩니다.

List<String> list = Arrays.asList("Banana", "Orange", "Melon");

 

add 또는 remove로 요소를 추가하거나 삭제할 수 없으니 주의해야합니다.

Arrays.asList()가 돌려주는 인스턴스는 java.util.Arrays의 내부 클래스의 ArrayList입니다.

java.util.ArrayList와는 다르기 때문에 add와 remove를 사용할 수 없는 것입니다.

이번에는 add를 사용해 List를 초기화 하면서 문자열을 추가하는 방법을 보겠습니다.

작성 방법을 아래와 같습니다.

List <데이터형> 변수명 = new ArrayList<데이터형>(){
    { 
        add(요소[0]); 
        add(요소[1]);
        ... 
    } 
};

 

샘플 코드를 보면서 확인해보겠습니다.

import java.util.ArrayList;
import java.util.List;
 
public class Main {
 
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>(){
            {
                add("Banana");
                add("Orange");
                add("Melon");
            }
        };
        
        for(int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
 
}

 

결과

Banana
Orange
Melon

 

List를 초기화 하면서 값을 설정했습니다.

이후에도 값을 추가하고 싶은 경우에는 add를 사용해 값을 추가 할 수 있습니다.

값을 삭제하고 싶은 경우에는 remove 사용해 삭제할 수 있습니다.

댓글