[英]Searching through Arraylist of Arraylist
我正在嘗試這款游戲,因為我有多個飛機和細胞代表天空! 一個單元格可以有多個物體(飛機),並且一個單元格具有x,y,z如何獲取(x,y,z)某個單元格中最舊的元素? 我使用ArrayList的ArrayList將多個元素存儲在一個單元格中,現在我需要搜索這些單元格! 最好的方法是什么?
這是我的示例代碼
ArrayList <Integer> coord1 = new ArrayList ();
coord1.add(1);
coord1.add(1);
coord1.add(1);
ArrayList <Integer> coord2 = new ArrayList ();
coord2.add(3);
coord2.add(3);
coord2.add(3);
ArrayList list1 = new ArrayList();
list1.add("aircraft1");
list1.add("aircraft2");
ArrayList list2 = new ArrayList();
list2.add("aircraft3");
list2.add("aircraft4");
ArrayList<ArrayList> cell1 = new ArrayList();
cell1.add(coord1);
cell1.add(list1);
ArrayList<ArrayList> cell2 = new ArrayList();
cell2.add(coord2);
cell2.add(list2);
// How to search through! Get aircraft in a certain position
}
public static void getAircrafts (int x, int y ,int z) {
}
public void iterator (ArrayList list) {
Iterator<ArrayList> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
如果您的鑰匙是飛機的位置,則HashMap
將為您工作。 如果您在Map
上運行多個線程,則需要同步訪問。
如果您需要通過多個鍵(即按名稱或位置)訪問飛機,則需要將飛機存儲在多個HashMap
結構中。
編輯1
如果一個位置可以有多架飛機,那么鍵的值必須是某種類型的列表(也許是ArrayList
)。 如果一個位置可能永遠不會有多架飛機,那么鑰匙的值可以是飛機。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.