簡體   English   中英

轉換ArrayList <ArrayList<Integer> &gt;列出 <List<Integer> &gt;

[英]Convert ArrayList<ArrayList<Integer>> to List<List<Integer>>

我在數組列表的數組列表中有我的整數數據,我想將該數據轉換為列表格式的列表。 我該怎么做?

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;
}

最好在存在此問題的地方共享代碼。 但是,您應該將變量聲明為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;
}

通常, 對接口(例如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>>的返回簽名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM