2016-03-03 187 views
0

所以我想創建多個名稱相似但名稱不同的列表。如何在Java中使用循環創建多個列表?

到目前爲止,我有:

for(int i=1; i<11; i++){ 
     String listName = String.format("listNumber%d", i); 
     int[] listName; 
    } 

我怎樣才能改變第三行,所以我會得到listNumber1,listNumber2等

+1

你想改變變量名?變量名稱不能以編程方式更改,並且爲了便於閱讀。 – CMilby

+0

可以將它們組成一個數組,以便獲得listName [0],listName [1]等,或者創建一個列表列表。沒有辦法動態生成一組變量名稱。 –

回答

2

總之,你不能。您可以創建包含陣列的地圖:

Map<String, int[]> listMap = new HashMap<>(); 

for(int i=1; i<11; i++){ 
    String listName = String.format("listNumber%d", i); 
    listMap.put(listName, new int[arraySize]); 
} 
1

您不能在Java中的變量名上使用String。

如果您想使用字符串來訪問列表,您可以使用地圖;

Map<String, List<Integer>> lists = new HashMap<>(); 
lists.put("listNumber1", new ArrayList<Integer>()); 
lists.put("listNumber2", new ArrayList<Integer>()); 

lists.get("listNumber1").add(1); 

但是,如果您使用字符串來表示列表,您可以使用列表或列表的列表;

List<List<Integer>> lists = new ArrayList<>(); 
lists.add(new ArrayList<>()); 
lists.add(new ArrayList<>()); 

for(List<Integer> list : lists) { 
    list.add(1); 
}