如果我正確認識你,你想有一個二維數組,這將是類似...
int gas = 0;
int food = 1;
int clothes = 2;
int entertainment = 3;
int electricity = 4;
int maxEntries = 10;
int[][] myArray = new int[5][maxEntries];
這可以通過以下方式訪問:
myArray[gas][entryNumber] = 6;
int value = myArray[gas][entryNumber];
但如何這是不靈活的?你必須提前多少項將有每個「類別」或有一些代碼檢查給定數組的長度,當你加入一個項目,創建一個新的數組,當你需要一個更大的一個(和複製舊的數據就知道進去)。
你可能想起碼是什麼ArrayList
的ArrayList
S:
ArrayList<ArrayList<Integer>> my2dArrayList =
new ArrayList<ArrayList<Integer>>();
...
my2dArrayList.get(gas).add(someValue);
int myValue = my2dArrayList.get(gas).get(index);
或ArrayList
是你可以通過你的類別的名稱訪問HashMap
:
HashMap<String, ArrayList<Integer>> myMap =
new HashMap<String, ArrayList<Integer>>();
...
myMap.get("gas").add(someValue);
int myValue = myMap.get("gas").get(index);
你是什麼意思,就是這樣,當你說「然後爲每個項目陣列後」?這聽起來好像你想要一個由你的項目控制的'ArrayList'的'HashMap'。 –
爲什麼你需要每個項目的數組?你能舉一個你想要做什麼的例子嗎? –
_你爲什麼要這樣做?數組和單個項目代表什麼? –