[英]How to understand the ArrayList<Map<String,Object>> in multi-layer loop, the ArrayList<Map<String,Object>> contents are the same?
[英]how to simplify a multi-layer "ArrayList"?
我想定義許多ArrayList<ArrayList<ArrayList<ArrayList<Integer>>>>
類型的變量
但這看起來很糟糕。
我現在想到的是創建一個 class 如下
Public class ArrayListMulti{
ArrayList<ArrayList<ArrayList<ArrayList<Integer>>>> ret;
public void ArrayListMulti(){
ret = new ArrayList<>();
}
public ArrayList<ArrayList<ArrayList<ArrayList<Integer>>>> getTheArrayList(){
return ret;
}
}
但是使用這種方法,每次想要訪問ret
值,都必須調用getTheArrayList
方法。
有沒有更簡單的方法?
先謝謝了~
您可以擴展ArrayList
public class ArrayListMulti extends ArrayList<ArrayList<ArrayList<ArrayList<Integer>>>>{}
你真的需要這么深的數組列表嗎? 如果是這樣,您應該考慮為您的ArrayListMulti
class 提供方便的 API。 例如,您可以添加如下方法:
public List<List<List<Integer>>> get(int i) {
return ret.get(i);
}
public List<List<Integer>> get(int i, int j) {
return ret.get(i).get(j);
}
...
等等。 (不要忘記檢查 null 的嵌套列表。)
還有一個小提示:在定義 class 字段時使用接口,而不是 class (在您的情況下為List<List<List<List>>>> ret
。如果您想更改List
接口的實現,它將使您的代碼更加健壯(例如將ArrayList
替換為LinkedList
)。
使用多維數組,如 3D 數組或更多
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.