java-stream相关内容

如何使用 java8 通过谓词对列表进行分区?

我有一个列表 a 我想将其拆分为几个小列表. 说出所有包含“aaa"的项目,所有包含“bbb"和一些谓词的项目. 如何使用 java8 做到这一点? 我看到了这个 post,但它只分成 2 个列表. public void partition_list_java8() {谓词startWithS = p ->p.toLowerCase().startsWith("s" ..
发布时间:2022-01-22 10:24:47 Java开发

Java 8 Streams 中副作用的危险是什么?

我正在尝试理解我在 Streams 文档中发现的警告.我已经养成了使用 forEach() 作为通用迭代器的习惯.这导致我编写这种类型的代码: 公共类 FooCache {私有静态映射sortOrderCache = new ConcurrentHashMap();私有静态映射codeNameCache = new ConcurrentHashMap();公共静态无 ..
发布时间:2022-01-22 10:24:19 Java开发

使用 Stream api 根据条件将列表拆分为子列表

我有一个具体的问题.有一些类似的问题,但这些问题要么是 Python 的,而不是 Java 的,或者即使问题听起来相似,要求也不同. 我有一个值列表. List1 = {10, -2, 23, 5, -11, 287, 5, -99} 最后,我想根据列表的值拆分列表.我的意思是如果该值大于零,它将保留在原始列表中,并且负值列表中的相应索引将设置为零.如果值小于零,则进入负值列表,原列表中 ..
发布时间:2022-01-22 10:24:04 Java开发

为什么发出终端操作后 Java close() 不流式传输?

看完https://www.airpair.com/java/posts/spring-streams-memory-efficiency,我很想将结果从数据库中流出,但正如我与一位同事讨论的那样(cfr. 他在该文章中添加的评论),需要记住使用 try-with-resources构造以避免任何内存泄漏. 为什么 Java 8 库在每次 终端操作(无需将流实例包装在 try-with-re ..
发布时间:2022-01-22 10:23:39 Java开发

Java 8 Stream:groupingBy 与多个收集器

我想使用 Java 8 Stream 并按一个分类器分组,但有多个收集器函数.因此,在分组时,例如计算一个字段(或可能是另一个字段)的平均值和总和. 我试着用一个例子来简化一下: public void test() {列出人=新的ArrayList();Persons.add(new Person("Person One", 1, 18));Persons.add(new P ..
发布时间:2022-01-22 10:23:14 Java开发

Java 8 Stream - 如何返回用要查找的项目列表替换字符串内容

我希望使用 java8 .stream() 替换下面的代码或 .foreach().但是我在执行此操作时遇到了麻烦. 这可能很容易,但我正在寻找一种思考斗争的实用方法:) 我可以迭代,没问题,但由于可变性问题,返回修改后的字符串是问题. 有人有什么想法吗? 列表toRemove = Arrays.asList("1", "2", "3");字符串文本 = "你好 1 2 3"; ..
发布时间:2022-01-22 10:23:04 Java开发

使用 Stream 避免 NoSuchElementException

我有以下 Stream: 流流 = 流();T 结果 = stream.filter(t -> {双 x = getX(t);双 y = getY(t);返回(x == tx && y == ty);}).findFirst().get();返回结果; 但是,并不总是有结果给我以下错误: NoSuchElementException:不存在值 那么如果没有值,我该如何返回 n ..
发布时间:2022-01-22 10:22:09 Java开发

Java 8 函数式接口,无参数,无返回值

Java 8 函数式接口对于什么都不接受也不返回什么的方法是什么? 即,等效于 C# 无参数 Action 与 void 返回类型? 解决方案 如果我理解正确,你想要一个带有方法 void m() 的函数式接口.在这种情况下,您可以简单地使用 Runnable. ..
发布时间:2022-01-22 10:22:02 Java开发

Spring MVC 中的流式 JSON 输出

我的应用程序是使用带有 Spring MVC、Spring data JPA Hibernate 的 Spring Boot(1.3.3.RELEASE) 构建的.MySql 是数据库,Jackson 是 JSON 序列化程序.在 Java 8 上. 我想在我的控制器方法中返回一个庞大的数据集.我不想检索所有数据然后传递到 Jackson 序列化程序,而是想返回如下对象流: @Reques ..
发布时间:2022-01-22 10:21:55 Java开发

如何将 Java 流转换为滑动窗口?

将流转换为滑动窗口的推荐方法是什么? 例如,在 Ruby 中,您可以使用 each_cons: irb(main):020:0>[1,2,3,4].each_cons(2) { |x|放 x.inspect }[1, 2][2, 3][3, 4]=>零irb(主):021:0>[1,2,3,4].each_cons(3) { |x|放 x.inspect }[1、2、3][2, 3, 4] ..
发布时间:2022-01-22 10:21:36 Java开发

如何最好地从可为空的对象创建 Java 8 流?

在获取流之前进行空检查的最佳/惯用方法是什么? 我有一个接收可能为空的 List 的方法.所以我不能只对传入的值调用 .stream() .如果值为空,是否有一些静态助手会给我一个空流? 解决方案 我同意 Stuart Marks 的观点 列表 == 空?Stream.empty() : list.stream() 是执行此操作的正确方法(请参阅他的答案),或者至少是在 Java 9 ..
发布时间:2022-01-22 10:21:26 Java开发