![](/img/trans.png)
[英]Difference between List<Integer> and List<? super Integer>
[英]What is the difference between List<Integer[]> and List<List<Integer>> in java
java中 List<Integer[]> 和 List<List> 有什么区别? ArrayList 都是两种类型吗? 如果它们不同,如何相互转换。 谢谢。
public static List<Integer[]> fourNumberSum(int[] candidates, int target) {
List<List<Integer>> res = new ArrayList<>()
dfs(candidates, target, res, new ArrayList<Integer>(), 0);
return res;
}
./Program.java:11: error: incompatible types: List<List<Integer>> cannot be converted to List<Integer[]>
return res;
^
List<Integer[]>
这将在您的 List 中创建一个 Integer 类型的数组。这意味着您将拥有一个 List,其中包含它的 Integer[] 类型的元素。 但是再次数组大小将是恒定的。所以你总是需要知道你放置在数组中的数据项的长度。所以你所有的 List 元素(即数组)应该具有恒定的大小。
List<Integer[]> sampleList = new ArrayList<>();
//Add array elements to list
Integer[] element1 = {15, 20, 40};//Here you need to know the size
sampleList.add(element1);
//Retrieving the elements from the list
Integer[] listElement1 = sampleList.get(0);
List<List<Integer>>
这将在 List 内创建一个 List 。不是像以前那样的数组,因此您可以将任意数量的数据放置到该特定列表中。因此在这种情况下,您不需要知道要存储的数据元素的大小就像之前一样。
List<List<Integer>> sampleList = new ArrayList<>();
//Add list elements to list
List<Integer> element1 = new ArrayList<>();
element1.add(1);//You can set any number of elements
sampleList.add(element1);
//Retrieving the elements from the list
List<Integer> listElement1 = sampleList.get(0);
它们不是Integer[]
表示整数数组而List<Integer>
表示列表,如果要将数组转换为列表,可以执行Arrays.asList(array)
我希望这个例子能帮助你理解
List<Integer[]> x = new ArrayList<Integer[]>();
Integer[] arr1 = new Integer[3];
arr1[0] = 34;
arr1[1] = 55;
arr1[2] = 2;
Integer[] arr2 = new Integer[3];
arr2[0] = 34;
arr2[1] = 55;
arr2[2] = 2;
x.add(arr1);
x.add(arr2);
List<List<Integer>> a = new ArrayList<List<Integer>>();
List<Integer> y = new ArrayList<Integer>();
y.add(1);
y.add(2);
List<Integer> z = new ArrayList<Integer>();
z.add(1);
z.add(2);
a.add(y);
a.add(z);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.