Tag: 集合

从Map中获取Java / Guava中的一些键的所有值?

是否有一种聪明的方法可以从一个地图中获取所有值? 我想要一个像这样的方法: public static Collection getAll(Map map, Collection keys) 或者已经是番石榴的方式?

Java – 将LinkedHashMap键/值放入各自列表的简单方法?

我有一个LinkedHashMap map 。 List keyList; List valueList; map.keySet(); map.values(); 有没有一种简单的方法可以从map.valSet()中填充keyList,从map.values()中填充valueList,还是必须迭代?

在使用getOrDefault()之后我应该使用put()还是putIfAbsent()?

Java8引入了那些不错的方法getOrDefault()和putIfAbsent() ,允许编写如下代码: Map<Foo, List> itemsByFoo = … List bars = itemsByFoo.getOrDefault(key, new ArrayList()); bars.add(someNewBar); 现在我想知道是否有很好的事实理由: itemsByFoo.put(key, bars); 要么 itemsByFoo.putIfAbsent(key, bars); 两者都有效: 当向列表添加元素时,选项1可能会执行大量不必要的“put”调用 当为新键添加新条目占主导地位时,option2可能会执行大量不必要的“containsKey”调用 SO:选择1或选项2“总是”的理由是什么?

什么是集合的视图?

在使用Guava集合并阅读其文档时,我一直在阅读术语视图几次。 我已经在这个背景下寻找一个视图的解释,以及它是否是在番石榴之外使用的术语。 它经常在这里使用。 Guava的这种类型有其名称的视图 。 我的猜测是,集合的视图是另一个具有相同数据但结构不同的集合; 例如,当我将java.util.HashSet的条目添加到java.util.LinkedHashSet ,后者将是前者的视图。 那是对的吗? 有人可以给我一个链接到一个公认的视图定义,如果有的话? 谢谢。

List.of()或Collections.emptyList()

作为List.of(…)或Collections.unmodifiableList()的特例 – 指向空 且不可变列表的首选Java 9方式是什么? 继续写 Collections.emptyList(); 或切换到 List.of();

带有番石榴集合的线程安全HashSet

就像标题所说,我想使用Guava Collections获得一个线程安全的HashSet。 你能帮助我吗? 谢谢!

Java:将字节列表转换为字节数组

试图解决什么应该是一个简单的问题。 有一个Bytes列表,想要在函数末尾将它转换为一个字节数组。 final List pdu = new ArrayList(); …. return pdu.toArray(new byte[pdu.size()]);; 编译器不喜欢我的toArray上的语法。 如何解决这个问题?

是否有Java 7中的ImmutableEnumSet计划?

我想拥有EnumSet的所有效率并传递它,而不必担心有人会修改它。

在Java中将List 对象转换为long 数组的最佳方法是什么?

是否有任何实用方法将数值类型列表转换为基本类型数组? 换句话说,我正在寻找比这更好的解决方案。 private long[] toArray(List values) { long[] result = new long[values.size()]; int i = 0; for (Long l : values) result[i++] = l; return result; }

通用枚举到Iterable转换器

HttpServletRequest使用了很多java.util.Enumeration。 我想在for-each中使用它们,所以我需要将它们转换为可交换的。 这不是问题,但由于我有多个项目需要这个,我需要一个库才能做到这一点。 我宁愿不做自己的 – 有没有支持这种装饰的标准库? 是否有内置构造将枚举转换为Iterable?