java-stream相关内容
我有一个列表 a 我想将其拆分为几个小列表. 说出所有包含“aaa"的项目,所有包含“bbb"和一些谓词的项目. 如何使用 java8 做到这一点? 我看到了这个 post,但它只分成 2 个列表. public void partition_list_java8() {谓词startWithS = p ->p.toLowerCase().startsWith("s"
..
..
..
我正在尝试理解我在 Streams 文档中发现的警告.我已经养成了使用 forEach() 作为通用迭代器的习惯.这导致我编写这种类型的代码: 公共类 FooCache {私有静态映射sortOrderCache = new ConcurrentHashMap();私有静态映射codeNameCache = new ConcurrentHashMap();公共静态无
..
..
我有一个具体的问题.有一些类似的问题,但这些问题要么是 Python 的,而不是 Java 的,或者即使问题听起来相似,要求也不同. 我有一个值列表. List1 = {10, -2, 23, 5, -11, 287, 5, -99} 最后,我想根据列表的值拆分列表.我的意思是如果该值大于零,它将保留在原始列表中,并且负值列表中的相应索引将设置为零.如果值小于零,则进入负值列表,原列表中
..
在学习 Java 8 流和 Lambas 时,我尝试将以下嵌套的 for 循环替换为流: ListdeskIds = new ArrayList();for(ProvidedService memberService : service.getAllNodesDepthFirst()){for(Desk d : memberService.getDesks()){deskIds.add(d.
..
看完https://www.airpair.com/java/posts/spring-streams-memory-efficiency,我很想将结果从数据库中流出,但正如我与一位同事讨论的那样(cfr. 他在该文章中添加的评论),需要记住使用 try-with-resources构造以避免任何内存泄漏. 为什么 Java 8 库在每次 终端操作(无需将流实例包装在 try-with-re
..
JDK 正在引入 API Stream.toList() 与 JDK-8180352.这是我尝试将其性能与现有 Collectors.toList 进行比较的基准代码: @BenchmarkMode(Mode.All)@Fork(1)@State(Scope.Thread)@Warmup(迭代次数 = 20,时间 = 1,batchSize = 10000)@Measurement(迭代次数 =
..
我想使用 Java 8 Stream 并按一个分类器分组,但有多个收集器函数.因此,在分组时,例如计算一个字段(或可能是另一个字段)的平均值和总和. 我试着用一个例子来简化一下: public void test() {列出人=新的ArrayList();Persons.add(new Person("Person One", 1, 18));Persons.add(new P
..
我希望使用 java8 .stream() 替换下面的代码或 .foreach().但是我在执行此操作时遇到了麻烦. 这可能很容易,但我正在寻找一种思考斗争的实用方法:) 我可以迭代,没问题,但由于可变性问题,返回修改后的字符串是问题. 有人有什么想法吗? 列表toRemove = Arrays.asList("1", "2", "3");字符串文本 = "你好 1 2 3";
..
我有一个 List 并且想要一个 Multimap 我们已经将 Foo 分组的地方他们的 getId() 函数. 我正在使用 Java 8,它几乎可以做到: 列表福斯 = ...映射>foosById = foos.stream().collect(groupingBy(Foo::getId)); 但是,我有大量代码需要 MultiMap
..
我在使用 jre1.8.0_66 运行的代码中遇到了这个奇怪的异常: 线程“main"java.lang.BootstrapMethodError 中的异常:调用站点初始化异常在 java.lang.invoke.CallSite.makeSite(CallSite.java:341)在 java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(
..
..
我有以下 Stream: 流流 = 流();T 结果 = stream.filter(t -> {双 x = getX(t);双 y = getY(t);返回(x == tx && y == ty);}).findFirst().get();返回结果; 但是,并不总是有结果给我以下错误: NoSuchElementException:不存在值 那么如果没有值,我该如何返回 n
..
Java 8 函数式接口对于什么都不接受也不返回什么的方法是什么? 即,等效于 C# 无参数 Action 与 void 返回类型? 解决方案 如果我理解正确,你想要一个带有方法 void m() 的函数式接口.在这种情况下,您可以简单地使用 Runnable.
..
我的应用程序是使用带有 Spring MVC、Spring data JPA Hibernate 的 Spring Boot(1.3.3.RELEASE) 构建的.MySql 是数据库,Jackson 是 JSON 序列化程序.在 Java 8 上. 我想在我的控制器方法中返回一个庞大的数据集.我不想检索所有数据然后传递到 Jackson 序列化程序,而是想返回如下对象流: @Reques
..
..
将流转换为滑动窗口的推荐方法是什么? 例如,在 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]
..
在获取流之前进行空检查的最佳/惯用方法是什么? 我有一个接收可能为空的 List 的方法.所以我不能只对传入的值调用 .stream() .如果值为空,是否有一些静态助手会给我一个空流? 解决方案 我同意 Stuart Marks 的观点 列表 == 空?Stream.empty() : list.stream() 是执行此操作的正确方法(请参阅他的答案),或者至少是在 Java 9
..