我想创建一个包含玩家列表以及他们所在的竞技场的数组。我不知道哪种类型的阵列最适合。
它将保存这样的信息:
PlayerName : Arena
John : Arena1
Harry : Arena1
Dave : Arena2
Will : Arena2
非常感谢您的帮助,我是Java的新手,无法在网站上看到这个,如果是,请指向我这个方向:)
答案 0 :(得分:5)
这是从玩家到竞技场的映射。
我会创建一个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>();
答案 1 :(得分:0)
这可以使用Map实现。如,
Map<String, String> map = new HashMap<String, String>();
map.put("name", "demo");
map.put("fname", "fdemo");
// etc
map.get( “名称”); //返回“demo” 对你的例子更准确的是声明:
List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
data.add(0, map);
data.get(0).get("name");
答案 2 :(得分:0)
只有一种类型的数组。在数组中,您放入一个索引,然后输出相应的项目。如果你想用一个数组来表示这个信息,我会创建一个包含你可以设置Player和Arena值的类的类,然后将每个对象存储在数组中。
答案 3 :(得分:0)
您可以创建一个包含playername和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];
例如
答案 4 :(得分:0)
我不太明白,但我假设你想要使用hashmap或hashtable(如果使用线程则使用hashtable)。
通过这种方式,您可以使用某个自定义类扩展PlayerName,Stack,Overflow,Word,Press并将其与地图一起使用:HashMap <CustomClass, Arena>