Java에서 새 목록을 만드는 방법

Hassan Saeed 2023년10월12일
  1. Java에서 빈 새 목록 만들기
  2. Java에서 비어 있지 않은 새 목록 만들기
  3. Java에서 비어 있지 않은 고정 크기 목록 만들기
Java에서 새 목록을 만드는 방법

이 자습서에서는 Java에서 다양한 유형의 목록을 만드는 방법에 대해 설명합니다.

Java의 List는 인터페이스이며ArrayList,LinkedList,Vector,Stack으로 구현됩니다. 정렬 된 개체 컬렉션을 제공합니다. 사용자는 목록에서 각 요소가 삽입되는 위치를 정확하게 제어 할 수 있습니다. 사용자는 정수 인덱스 (목록의 위치)로 요소에 액세스하고 목록에서 요소를 검색 할 수 있습니다. 또한 목록은 중복 요소를 저장할 수도 있습니다.

Java에서 빈 새 목록 만들기

List는 인터페이스이므로 직접 List 객체를 생성 할 수 없습니다. 그러나 List 인터페이스를 구현하는 클래스의 객체 인ArrayList,LinkedList,VectorStack을 만들 수 있습니다. 다음은 간단한 방법입니다.

List myArrayList = new ArrayList();
List myLinkedList = new LinkedList();
List myVector = new Vector();
List myStack = new Stack();

이러한 유형의 목록에는 특정 데이터 유형이 없으며 모든 유형의 개체 및 값을 포함 할 수 있습니다. Java로이를 만들고 값을 추가해 보겠습니다.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    // ArrayList
    List myArrayList = new ArrayList();
    myArrayList.add(1);
    myArrayList.add(2);
    myArrayList.add("three");
    System.out.println("ArrayList: " + myArrayList);

    // LinkedList
    List myLinkedList = new LinkedList();
    myLinkedList.add(4);
    myLinkedList.add(5);
    myLinkedList.add("six");
    System.out.println("LinkedList: " + myLinkedList);

    // Stack
    List myStack = new Stack();
    myStack.add(7);
    myStack.add(8);
    myStack.add("nine");
    System.out.println("Stack: " + myStack);
  }
}

위의 코드는 다음을 출력합니다.

ArrayList: [1, 2, three]
LinkedList: [4, 5, six]
Stack: [7, 8, nine]

오류없이 목록에intString 값을 추가 한 것을 볼 수 있습니다.

특정 유형의 값만 저장할 수 있도록 데이터 유형을 지정할 수 있습니다. 다른 예를 들어 보겠습니다.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    // ArrayList
    List<Integer> myArrayList = new ArrayList<>();
    myArrayList.add(1);
    myArrayList.add(2);
    myArrayList.add("three");
    System.out.println("ArrayList: " + myArrayList);
  }
}

위의 코드는 다음 오류를 발생시킵니다.

> /myClass.java:9: error: incompatible types: String cannot be converted to Integer
>         myArrayList.add("three");

ArrayList 객체를 생성 할 때 데이터 유형을Integer로 지정했기 때문입니다. 따라서 다른 데이터 유형은 허용하지 않습니다.

Java에서 비어 있지 않은 새 목록 만들기

빈 List 객체를 생성 한 다음 목록에 객체를 추가하는 방법에 대해 논의했습니다. 이제 개체가있는 List를 만드는 다른 방법을 살펴 보겠습니다.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<String> list = new ArrayList<String>() {
      {
        add("a");
        add("b");
      }
    };
    System.out.println("ArrayList: " + list);
  }
}

위의 코드는 다음을 출력합니다.

ArrayList: [a, b]

Java에서 비어 있지 않은 고정 크기 목록 만들기

비어 있지 않은 고정 크기 목록을 만들 수도 있습니다. 그렇다면add,remove와 같은 작업이 지원되지 않습니다.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    System.out.println("ArrayList: " + list);
  }
}

위의 코드는 다음을 출력합니다.

ArrayList: [1, 2]

이 목록에 다른 요소를 추가하려고하면 어떻게되는지 살펴 보겠습니다.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    list.add(3);
    System.out.println("ArrayList: " + list);
  }
}

위 코드는add,remove 등과 같은 작업을 허용하지 않기 때문에 다음과 같은 오류가 발생합니다.

> Exception in thread "main" java.lang.UnsupportedOperationException
> 	at java.base/java.util.AbstractList.add(AbstractList.java:153)
> 	at java.base/java.util.AbstractList.add(AbstractList.java:111)
> 	at myClass.main(myClass.java:6)

그러나이 유형의 목록에서 주어진 위치에서 값을 변경할 수 있습니다.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    System.out.println("Initial ArrayList: " + list);
    list.set(1, 3);
    System.out.println("Changed ArrayList: " + list);
  }
}

위의 코드는 다음을 출력합니다.

Initial ArrayList: [1, 2]
Changed ArrayList: [1, 3]

이제 우리는 Java에서 다양한 유형의 목록을 만드는 방법을 알았습니다.

관련 문장 - Java List