我在数组列表的数组列表中有我的Integer数据,我想将该数据转换为Lists of List格式。 我该怎么办?
public List<List<Integer>> subsetsWithDup(int[] nums) {
ArrayList<ArrayList<Integer>> ansList = new ArrayList<ArrayList<Integer>>();
String arrStr = nums.toString();
ArrayList<Integer> tempList = null;
for(int i = 0 ; i < arrStr.length()-1 ; i++){
for(int j = i+1 ; j<arrStr.length() ; j++){
tempList = new ArrayList<Integer>();
tempList.add(Integer.parseInt(arrStr.substring(i,j)));
}
if(!ansList.contains(tempList)){
ansList.add(tempList);
}
}
return ansList;
}
答案 0 :(得分:1)
最好在存在此问题的地方共享代码。但是,您应该将变量声明为List<List<Integer>>
,然后使用ArrayList
进行实例化。
例如:
public static void main (String[] args) throws java.lang.Exception
{
List<List<Integer>> myValues = getValues();
System.out.println(myValues);
}
public static List<List<Integer>> getValues() {
List<List<Integer>> lst = new ArrayList<>();
List<Integer> vals = new ArrayList<>();
vals.add(1);
vals.add(2);
lst.add(vals);
vals = new ArrayList<>();
vals.add(5);
vals.add(6);
lst.add(vals);
return lst;
}
通常为program to an interface (such as List
)。
根据对OP的问题进行的编辑,可以看到,正如最初建议的那样,可以进行以下更改:
ArrayList<ArrayList<Integer>> ansList = new ArrayList<ArrayList<Integer>>();
到
List<List<Integer>> ansList = new ArrayList<>();
和
ArrayList<Integer> tempList = null;
到
List<Integer> tempList = null;
然后代码将符合方法List<List<Integer>>
的返回签名。