12得票5回答
Java 8 Stream - 如何使用一个项目列表替换字符串内容

我希望用Java8的 .stream() 或者 .foreach() 替换下面的代码。但是我做起来有困难。 这可能很简单,但是我发现函数式编程的方式很难 :) 我可以遍历,没有问题,但由于可变性问题,返回修改后的字符串是个问题。 有人有什么想法吗?List<String> t...

8得票3回答
Java 8扩展Stream<T>

我将尝试扩展Java 8的Stream实现。 我有以下接口: public interface StreamStuff&lt;T&gt; extends Stream&lt;T&gt; { Stream&lt;T&gt; delegate(); default Strea...

29得票1回答
使用Java 8集合流API实现堆栈

我有一个方法,每次执行它时会生成一个对象,并且我需要反转获取这些对象的顺序。所以我想自然的方式是使用栈,因为后进先出。 然而,Java Stack 似乎与新的 Java 8 流 API 不兼容。 如果我这样做: Stack&lt;String&gt; stack = new Stack...

54得票4回答
在Java中如何创建有限生成的流?

在Java中,可以使用Stream.generate(supplier)轻松生成无限流。但是,我需要生成一个最终会结束的流。 比如说,我想要一个文件夹中所有文件的流。文件数量可能很大,因此我无法预先收集所有数据并从它们创建流(通过collection.stream())。我需要逐个生成序列。...

7得票2回答
为什么Java 8 Streams只在API级别24及以上可用?

支持的Java 8语言特性和API中指出,我们可以在任何最低sdk API级别的android项目中使用默认方法和lambda表达式。 然而,Stream库(java.util.stream)仅支持API 24及更高版本。有人能否解释一下为什么会这样?在我看来,这并不合理,因为据我所知,流A...

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

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

7得票2回答
使用流和收集器将Java 8映射到集合的子列表条目

我有一个Person对象的集合: public class Person { String name; ChildrenListHolder childrenListHolder; } public class ChildrenListHolder { List&lt;C...

10得票4回答
Java 8 Streams - 为什么我不能对整数流进行求和?

给定一个整数列表: List&lt;Integer&gt; numbers = Arrays.asList(1,2,3); 为什么不能像这样对它们求和:numbers.stream().sum();? 相反,我必须这样做:numbers.stream().mapToInt(e -&gt; ...

231得票31回答
Java 8流反转顺序

一般问题:如何正确地反转一个流?假设我们不知道这个流包含什么类型的元素,有什么通用方法可以反转任何流? 具体问题: IntStream提供了range方法来在特定范围内生成整数IntStream.range(-range,0),现在我想将其反转,从0到负数的切换范围行不通,也无法使用Int...

13得票2回答
如何避免在向ArrayList添加元素时出现“lambda表达式中参数类型不兼容”的问题?

我有以下的代码public static List&lt;Integer&gt; topKFrequent(int[] nums, int k) { List&lt;Integer&gt; myList = new ArrayList&lt;&gt;(); HashMap&lt;Int...