java - 如何根据值修改HashMap

标签 java

假设我有一个 HashMap<String, Integer>包含用户名及其在队列或行中作为 int 的位置。我将如何从队列中删除用户并随后更新后面用户的所有值?

最佳答案

我找到了一种我认为应该可行的方法。 @Rias,感谢并发 hashMap 的指导,它提供了一种完成我面临的相同任务的方法。

public void removeFromQueue(String user) {
    if (queueMap.containsKey(user)) {
        int userPlace = queueMap.get(user);
        for (String currentser : queueMap.keySet()) {
            if (queueMap.get(currentUser) > userPlace) {
                queueMap.put(user, queueMap.get(currentUser) - 1);
            }
        }
    }
}

关于java - 如何根据值修改HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60627832/

相关文章:

java - 两个线程之间的同步 Arraylist 不返回相同的值

java - 为什么我的应用程序不显示录制的消息?

java - 从这里无法访问符号 'IllegalArgumentException'

java - 在 TextView 中的两个可绘制对象之间绘制线条

java - Maven JavaFX 项目无法使用 GetResource 查找 FXML 文件?

Java按列表类型属性对对象进行排序

java - 如何解决自定义存储库 JPA 中的错误 "error in your SQL syntax"

java - Intellij 自动构建 - 不存在

java - REST 身份验证 : CDI safe? CDI @Produces 的哪个范围?

java - 如何添加 4 个畅销耳机商品以添加到 Amazon.com 的购物车