我正在为Minecraft服务器制作一个插件,我需要一种方法来将玩家存储在阵列中,用于他们所在的竞技场。例如:
该插件会加载所有已创建的竞技场:Arena1
Arena2
Arena3
我需要它来创建名为Arenas
的数组,并且在每个竞技场内都有一个数组,我可以存储玩家名称,所以我知道谁在哪个竞技场。我希望你明白我的意思。我会把它以表格形式给你:
Arenas{
Arena1{
"Player1"
}
Arena2{
}
Arena3{
}
}
我希望你明白,我希望你能帮助我。我知道你们很好
答案 0 :(得分:2)
您所追求的编程概念称为Associative Array,Java中最常用的编程概念是java.util.HashMap
。竞技场的名称作为键,它们与值列表相关联。所以一个简单的例子就像:
Map<String, List<String> arenas = new HashMap<>();
//create player list for Arena1
arenas.put("Arena1", new ArrayList<String>());
//add a player
arenas.get("Arena1").add("player1");
答案 1 :(得分:1)
Map<Arena, Set<Player>>
应该很好地完成这个伎俩。鉴于竞技场,它会给你一组玩家。
答案 2 :(得分:1)
我会制作Map<String, List<String>>
key是竞技场的名称,列表中是玩家的名字。
答案 3 :(得分:0)
收藏可能是您的解决方案:
class Arena {
Set<Player> players = HashSet<Player>();
}
如果您需要按名称访问它们,请将它们存储在HashMap<String, Arena>
内;如果随机访问足够,则将其存储在ArrayList<Arena>
。