我如何获得Hashmap的第二个对象

时间:2016-08-23 22:27:39

标签: java hashmap

我有这段代码:

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),我是怎么做到的? 非常感谢你!

2 个答案:

答案 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

注意:这假设地图中至少有两个项目。如果从地图中删除某个项目,也可以更改它(因为如果从地图中删除第一个项目,则第二个项目将成为第一个项目。)