117得票6回答
为什么空流调用Stream.allMatch()会返回true?

我和同事遇到了一个错误,原因是我们假设调用allMatch()的空流会返回false。 if (myItems.allMatch(i -> i.isValid()) { //do something } 当然,我们假设并没有阅读文档,这是我们的过错。但我不明白的是,为什么空流...

114得票6回答
为什么我在从数组中进行流处理时无法将整数映射到字符串?

这段代码有效(摘自Javadoc):List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toStr...

113得票12回答
Java 8:计算lambda迭代次数的首选方法?

我经常面临同样的问题。 我需要计算一个 lambda 的运行次数,并在 lambda 之外使用。 例如:myStream.stream().filter(...).forEach(item -> { ... ; runCount++}); System.out.println(&quot...

112得票1回答
如何使用新的1.8流API连接字符串

假设我们有一个简单的方法,应该将Person集合中所有人的姓名连接起来并返回结果字符串。public String concantAndReturnNames(final Collection<Person> persons) { String result = ""; ...

111得票4回答
Java 8 Stream中的forEach和forEachOrdered有什么区别?

我理解这些方法的执行顺序不同,但在我的所有测试中,我都无法实现不同的执行顺序。 示例:System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s->System.out.println("Outp...

111得票2回答
Java流(stream)的toArray()方法:将流转换为特定类型的数组

也许这很简单,但我其实是Java 8特性的新手,不知道如何完成这个任务。我有一行包含以下文本: "Key, Name" 我想将该行转换为String数组,通过逗号(,)分隔每个值,但是,在返回最终数组之前,我还想修剪每个字段,因此我做了以下操作:Arrays.stream(line...

111得票6回答
在列表中从特定字段的对象中计算值的总和。

假设有一个类 Obj:class Obj { int field; } 现在,我该如何使用流查找列表lst中对象的整数字段field的值之和并应用筛选条件(例如,对于对象o,条件为o.field > 10)?

110得票4回答
使用Java 8 Stream API查找符合属性值的唯一对象

使用Java 8 Stream查找集合中与属性值匹配的对象。List<Person> objects = new ArrayList<>(); 个人属性 -> 名称,电话,电子邮件。 遍历人员列表并查找匹配电子邮件的对象。发现这可以通过Java 8流轻松完成。但这仍会...

109得票6回答
我们应该如何处理 JDK8 流中的空值?

我知道这个话题可能有点提前,因为JDK8尚未发布(目前也不会发布),但我正在阅读一些关于Lambda表达式的文章,特别是与新的集合API Stream相关的部分。以下是在Java Magazine文章中给出的例子(一个水獭种群算法...):Set<Otter> otters = g...

108得票1回答
Collectors.toSet() 和 HashSet

请看以下示例代码: Set<String> someSet = someColletion.stream().map(p -> p.toString()).collect(Collectors.toSet()); 我想要一个HashSet。在调试代码时,我确实得到了一个...