Java 在将数组添加到数组列表中的过程中初始化数组
您好,我一直在尝试创建一个方法,该方法被传递一个整数数组列表,并返回一个int数组数组数组列表。我希望返回的数组列表中的每个数组都包含传递的数组列表中的一个或多个值。这是我到目前为止所拥有的Java 在将数组添加到数组列表中的过程中初始化数组,java,arrays,for-loop,arraylist,initialization,Java,Arrays,For Loop,Arraylist,Initialization,您好,我一直在尝试创建一个方法,该方法被传递一个整数数组列表,并返回一个int数组数组数组列表。我希望返回的数组列表中的每个数组都包含传递的数组列表中的一个或多个值。这是我到目前为止所拥有的 public static ArrayList<int[]> createPossible(ArrayList<Integer> al) { ArrayList<int[]> returned = new ArrayList<int[]>();
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;
}
publicstaticarraylistcreatemable(arraylistal)
{
返回的ArrayList=新的ArrayList();
对于(int i=0;i
我想你可以看到我在这里得到的基本点。只是想不出如何正确初始化我要将其添加到返回的ArrayList中的每个新数组
new int[] {al.get(i)}
数组的长度是无用的,因为您在花括号内传递给定数量的值。这将与您所描述的类似,但它使用
列表
而不是列表
。如果您必须有列表
,则可以对其进行扩充以满足您的需要
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()));
}
}
import java.util.ArrayList;
导入java.util.array;
导入java.util.List;
公共类堆栈溢出{
公共静态列表(列表al){
返回的列表=新的ArrayList();
对于(int i=0;i
上述代码的输出:
[[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]。
从[1]中删除1
。无论如何,是否要创建一个元素数组?感觉就像。谢谢你的评论,我读了关于xy问题的文章,我意识到我确实掉进了这个陷阱,以后我会发布更合适的问题。