我非常想要做的就是创建一个传递整数数组列表并返回int数组的ArrayList的方法。我希望返回的Array List中的每个数组都包含传递的Array List的值。这是我到目前为止所拥有的
public static ArrayList<int[]> createPossible(ArrayList<Integer> al)
{
ArrayList<int[]> returned = new ArrayList<int[]>();
for(int i = 0; i < al.size(); i++)
{
returned.add(new int [1]{al.get(i)});
}
return returned;
}
我认为你可以看到我在这里得到的基本观点。只是无法弄清楚如何正确初始化我将其添加到返回的ArrayList中的每个新数组
答案 0 :(得分:0)
只需使用
new int[] {al.get(i)}
数组的长度是无用的,因为你在花括号内传递给定数量的值。
答案 1 :(得分:0)
这与您所描述的内容类似,但它使用List<Integer[]>
而不是List<int[]>
。如果您必须List<int[]>
,那么可以根据您的需要进行扩充。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class StackOverflow {
public static List<Integer[]> createPossible(List<Integer> al) {
List<Integer[]> returned = new ArrayList<Integer[]>();
for (int i = 0; i < al.size(); i++) {
returned.add(al.toArray(new Integer[0]));
}
return returned;
}
public static void main(String[] args) {
List<Integer> al = Arrays.asList(new Integer[] { 1, 2, 3, 4, 5 });
List<Integer[]> result = createPossible(al);
System.out.println(Arrays.deepToString(result.toArray()));
}
}
上面代码的输出:
[[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]