gpt4 book ai didi

Java TreeMap 不够好

转载 作者:行者123 更新时间:2023-12-01 22:24:56 25 4
gpt4 key购买 nike

我想要一个Map<Integer, String>这是可以解决的。我尝试使用 TreeMap<Integer, String>但它只为每个元素存储一个键,而我想要有多个相同的键元素。
例如,当我添加:

map.put(1, "Daniel");
map.put(3, "Monica");
map.put(4, "Pinto");
map.put(3, "Lucia");

然后打印所有元素,使用 TreeMap它显示为:

1 Daniel
3 Lucia
4 Pinto

我希望它打印:

1 Daniel
3 Monica
3 Lucia
4 Pinto

我应该使用什么数据类型?

最佳答案

映射中的键是唯一的,因此每个键只能关联一个值。这就是为什么您的 key “3”在输出中仅出现一次。

似乎有两种解决方案,具体取决于您的要求:

  • 使用 SortedSet ,使用 Integer 的元素复合和一个 String与定制Comparator 。这样,“3 Monica”和“3 Lucia”将构成您 Collection 中完全独立的元素。它将与您的输出相匹配,因为集合中的每个元素都将是您问题中显示的输出中的一行,但感觉有点笨拙,并且很可能不完全是您想要的。
  • 为 map 中的值使用集合类,例如一个List<String> ,所以你会得到 Map<Integer,List<String>> 。那么,您就不能使用 put方法添加到该列表,但您需要创建自己的方法来延迟检索或创建 List ,并附加新元素。该集合宁愿看起来像这样:

    1, [Daniel]
    3, [Monica, Lucia]
    4, [Pinto]

因此不会完全符合您的要求,但更可能符合您的要求。

关于Java TreeMap 不够好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28975108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com