我有这段代码:
public class Game {
String NO_MOVEMENTS = ChatColor.RED+"You don't have sufficient movements to do that";
public static HashMap<Player,Integer> movements = new HashMap<>();
public void setupMovements(Player player){
movements.put(player,15);
}
public void movementsManager(Player player){
}
public static HashMap arrowShoow(Player player){
}
}
我需要知道hashmap的“运动”(int),我是怎么做到的? 非常感谢你!
答案 0 :(得分:2)
与ArrayList不同,HashMap中不保留 Order (条目)。并且你无法在HashMap中获得所谓的second
对象。
要访问HashMap中的所有元素,您可以查看此answer。
要获得特定玩家的移动,您可以使用:
Integer movement = movements.get(yourPlayerObject);
答案 1 :(得分:0)
如果您想知道指定Integer
的{{1}}值:
Player
如果您想了解指定Integer value = movements.get(player);
的{{1}}:
Player
请注意,如果特定Integer
没有Integer value = 15; /* put the int value you are looking for here */
Player player = movements.entrySet().stream()
.filter(entry -> entry.getValue().equals(value));
,您将获得空。
如果您想要将第二个对象插入到地图中,则需要使用Player
,它会保留将键插入地图的顺序。要检索插入地图的第二个项目:
Integer
注意:这假设地图中至少有两个项目。如果从地图中删除某个项目,也可以更改它(因为如果从地图中删除第一个项目,则第二个项目将成为第一个项目。)