ArrayList의 Java 배열, 배열의 ArrayList
오늘 우리는 ArrayList의 Java 배열을 만드는 방법을 배웁니다. 또한 배열 요소의 ArrayList를 만드는 방법도 배웁니다.
ArrayList의 Java 배열
import java.util.ArrayList;
import java.util.List;
public class JavaArrayOfArrayList {
public static void main(String[] args) {
List<String> l1 = new ArrayList<>();
l1.add("1");
l1.add("2");
List<String> l2 = new ArrayList<>();
l2.add("3");
l2.add("4");
l2.add("5");
List<String>[] arrayOfList = new List[2];
arrayOfList[0] = l1;
arrayOfList[1] = l2;
for (int i = 0; i < arrayOfList.length; i++) {
List<String> l = arrayOfList[i];
System.out.println(l);
}
}
}
Java는 일반 배열을 지원하지 않기 때문에 배열을 만드는 동안 일반을 사용할 수 없습니다. 따라서 아래 코드를 사용하려고 하면 \Cannot create a generic array of List
List<String>[] arrayOfList = new List<String>[2];
Java Array배열 목록
요소가 목록인 배열을 만들 수도 있습니다. 다음은 Java에서 배열 요소 목록을 만드는 방법을 보여주는 간단한 예입니다.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class JavaArrayListOfStringArray {
public static void main(String[] args) {
// List of String arrays
List<String[]> list = new ArrayList<String[]>();
String[] arr1 = { "a", "b", "c" };
String[] arr2 = { "1", "2", "3", "4" };
list.add(arr1);
list.add(arr2);
// printing list of String arrays in the ArrayList
for (String[] strArr : list) {
System.out.println(Arrays.toString(strArr));
}
}
}
객체 배열의 Java ArrayList
배열의 객체 유형이 확실하지 않거나 여러 유형을 보유할 수 있는 배열의 ArrayList를 생성하려는 경우 객체 배열의 ArrayList를 생성할 수 있습니다. 다음은 Java에서 객체 배열의 ArrayList를 만드는 방법을 보여주는 간단한 예입니다.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class JavaArrayListOfObjectArray {
public static void main(String[] args) {
// list of Object arrays to hold different types of array
List<Object[]> list = new ArrayList<Object[]>();
String[] arr1 = { "a", "b", "c" };
String[] arr2 = { "1", "2", "3", "4" };
JavaArrayListOfObjectArray aa = new JavaArrayListOfObjectArray();
JavaArrayListOfObjectArray.A[] arr3 = { aa.new A("AA"), aa.new A("BB") };
list.add(arr1);
list.add(arr2);
list.add(arr3);
// list holds different types of Object arrays, let's print them
for (Object[] objArr : list) {
System.out.println(Arrays.toString(objArr));
// iterating over the array and doing operation based on it's type
for (Object obj : objArr) {
// using instanceof keyword to find the Object type in the array
if (obj instanceof String) {
// doSomethingForStringObject();
} else if (obj instanceof JavaArrayListOfObjectArray.A) {
// doSomethingForAObject();
}
}
}
}
/**
* A sample class to use in arraylist of arrays
*
* @author pankaj
*
*/
public class A {
private String name;
public A(String n) {
this.name = n;
}
public String getName() {
return this.name;
}
@Override
public String toString() {
return "A.class::"+this.name;
}
}
}
위의 프로그램을 실행하면 다음과 같은 출력이 생성됩니다.
[a, b, c]
[1, 2, 3, 4]
[A.class::AA, A.class::BB]
이것이 Java에서 ArrayList의 Array와 Array의 ArrayList를 생성하기 위한 전부입니다.
GitHub 리포지토리에서 더 많은 핵심 Java 예제를 확인할 수 있습니다.
참조: Java 배열