Java HashMap向每个新值添加键+1吗?

问题描述 投票:0回答:1

我正在用Java编写程序。该程序应处理许多不同的值。我决定使用HashMap,如您所见:

public static Map<String, Map<Integer, String>> users = new HashMap<>();

所以,如您所见,我有一张带有2个键的地图。第一个键决定我的“第二个HashMap”。希望您能理解,因为现在这是我的问题。

public class test {

public static Map<Plot, Map<Integer, Player>> users = new HashMap<>();
public void test(String first, String second) {

if(users.get(first).isEmpty() {
users.computeIfAbsent(first, (a)->new HashMap<>()).put(0, null);
}

if(!users.get(first).containsValue(second)) {
users.computeIfAbsent(first, (a)->new HashMap<>()).put(/*my problem*/, second);
    }
  }
}

因此,在最后的if语句中是注释。我不知道该写些什么?另一个类调用此方法,但这无关紧要。我的目标是,将每个带有特定值(我的方法中的第二个字符串)的整数(第二个键)保存到每个字符串(第一个键)。当然,我希望每个String都以0开头并按时间顺序排列。但是请记住,您不能在课程开始时使用普通的Integer-var,因为如果您对每个键都使用它,那将无法解决我的问题。

java string hashmap integer key-value
1个回答
1
投票

如果我对您的理解正确,那么“内部地图”(类型为Map<Integer, String>的地图)将始终遵守以下规则:

地图的键将始终覆盖从0到其大小的封闭范围。例如,大小为8的内部映射将具有以下键:`[0、1、2、3、4、5、6、7]。

© www.soinside.com 2019 - 2024. All rights reserved.