[英]Which type of array should I use
我想創建一個包含玩家列表以及他們所在的競技場的數組。我不知道哪種類型的數組最適合。
它將包含以下信息:
PlayerName : Arena
John : Arena1
Harry : Arena1
Dave : Arena2
Will : Arena2
非常感謝您的幫助,我是Java的新手,並且無法在網站上看到此列表,如果是的話,請指向我:)
那是從球員到競技場的映射。
我將創建一個class Player
和一個class Arena
,因此您的數據結構將是:
Map<Player, Arena> playerToArena = new HashMap<Player, Arena>();
在這種情況下,我不會使用數組,但是,如果您堅持要寫,可以編寫類似於以下內容的內容:
class Pair {
Player player;
Arena arena;
}
Pair[] array = new Pair[10];
// or
List<Pair> arrayList = new ArrayList<Pair>();
這可以使用地圖來實現。 例如,
Map<String, String> map = new HashMap<String, String>();
map.put("name", "demo");
map.put("fname", "fdemo");
// etc
map.get( “名稱”); //返回“演示”,對您的示例更准確的是聲明:
List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
data.add(0, map);
data.get(0).get("name");
只有一種類型的數組。 在數組中,放入索引,然后取出相應的項。 如果要使用數組表示此信息,我將創建一個包含可以在其中設置Player和Arena值,然后將每個對象存儲在數組中的類。
您可以創建一個包含玩家名稱和競技場名稱的容器類,並創建一個數組(或該數組的其他集合)
private static final class ArenaPlayerContainer {
private final String playerName;
private final String arenaName;
public String getPlayerName() {
return playerName;
}
public String getArenaName() {
return arenaName;
}
private ArenaPlayerContainer(String playerName, String arenaName) {
this.playerName = playerName;
this.arenaName = arenaName;
}
}
那么您只需創建一個ArenaPlayerContainer[] arr = new ArenaPlayerContainer[10];
例如
我不太了解,但是我假設您想使用一個哈希表或哈希表(如果使用線程,請使用哈希表)。
這樣,您可以使用一些自定義類擴展PlayerName,Stack,Overflow,Word,Press,並將其與地圖一起使用: HashMap <CustomClass, Arena>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.