Java에서 새 목록을 만드는 방법
이 자습서에서는 Java에서 다양한 유형의 목록을 만드는 방법에 대해 설명합니다.
Java의 List
는 인터페이스이며ArrayList
,LinkedList
,Vector
,Stack
으로 구현됩니다. 정렬 된 개체 컬렉션을 제공합니다. 사용자는 목록에서 각 요소가 삽입되는 위치를 정확하게 제어 할 수 있습니다. 사용자는 정수 인덱스 (목록의 위치)로 요소에 액세스하고 목록에서 요소를 검색 할 수 있습니다. 또한 목록은 중복 요소를 저장할 수도 있습니다.
Java에서 빈 새 목록 만들기
List
는 인터페이스이므로 직접 List 객체를 생성 할 수 없습니다. 그러나 List 인터페이스를 구현하는 클래스의 객체 인ArrayList
,LinkedList
,Vector
및Stack
을 만들 수 있습니다. 다음은 간단한 방법입니다.
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]
오류없이 목록에int
및String
값을 추가 한 것을 볼 수 있습니다.
특정 유형의 값만 저장할 수 있도록 데이터 유형을 지정할 수 있습니다. 다른 예를 들어 보겠습니다.
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에서 다양한 유형의 목록을 만드는 방법을 알았습니다.