如何将另一个元素作为列表插入到 TreeMap 值中

里奇·A·福赞

所以我仍在学习 Java 映射,只是想知道是否可以将另一个元素作为列表插入到 TreeMap 值中?所以这是我的代码:

TreeMap<String,List<Integer>> myTree = new TreeMap<>();

String info = "Andi 20";
Integer extra = 100;

String[] temp = info.split(" ");
myTree.put(temp[0], Collections.singletonList(Integer.parseInt(temp[1])));  // {Andi : [20]}

如何将另一个元素(例如:Integer extra)插入到值列表中?所以输出将如下所示:

// {Andi : [20,100]}

如果可能的话,也许您也可以提供有关时间复杂度的详细信息?它会对我有很大帮助

谢谢大家...

C.麦金农

只要List您使用实现支持add,当然您可以添加其他元素。

但是,您正在使用Collections#singletonList,根据定义,它不允许任何修改(singleton集合实用程序返回不可变的实现)。仅在使用ArrayListLinkedList等等。

Map<String,List<Integer>> map = new TreeMap<>();
map.put("foo", new ArrayList<>());
map.get("foo").add(1);
map.get("foo").add(2);

对的时间复杂度getput是在TreeMap文档:

此实现为 containsKey、get、put 和 remove 操作提供有保证的 log(n) 时间成本。

的时间复杂度map.get("foo").add(1)是 log(n),因为ArrayList#add是常数时间。

您可以利用Map#computeIfAbsent来处理初始化List

map.computeIfAbsent("foo", key -> new ArrayList<>()).add(1);

请注意使用where 的任何情况下computeIfAbsent都更可取,因为当键已存在于映射中时可避免不必要的分配。putIfAbsentnewcomputeIfAbsent

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将列表中的元素直接放置到另一个列表中?

自另一个文件以来,如何将值插入到matplotlib列表中?

如何返回TreeMap中包含的值的TreeSet?

将int列表作为appmetadata插入到另一个现有列表中?

如何将元组列表中的唯一元素作为另一个元组返回

MySQL:如果另一个表中的值为 NULL,如何将值插入到表中?

比较 TreeMap 中的值

如何将数据从一个表作为 PostgreSQL 数组插入到另一个表中?

如何将另一个表中的值插入到表中 - mysql 内连接

如何将张量插入到 pytorch 中的另一个张量中

如何比较TreeMap中的两个值?

如何将列表中的匹配元素附加到另一个列表?

如何将函数输出插入到另一个函数的数组中

如何将一个值放在另一个列表中?

将一个列表中的值按索引插入到另一个列表中

如何将随机值从一个表插入到另一个表(oracle sql)?

如何将一个范围内的值插入到另一个范围内

将值从 HashMap 复制到 TreeMap

如何将一个列表的2个项目分组到另一个列表中

如何将下拉列表中的值传递到烧瓶中的另一个页面

如何将一个列表中的元素添加到另一个列表中?

将一个列表插入到另一个列表中

如何将元素的最后一个类复制到jQuery中的另一个元素?

将列表的元素作为最后一个元素插入到python列表中的列表中

如何将一个列表中的元素添加到另一个列表?

如何将数组列表中的元素替换为另一个?

如何将一个列表复制到另一个列表中?Python

如何将List <Integer>的值而不是引用复制到另一个列表中?

如何将值插入另一个表的列中?