java-8相关内容
类似于Stream.findFirst(),有没有办法写Stream.findNth()? 我正在通过重写一些遗留代码来练习 Java 8.而且,我想知道如何使用 Stream API 编写以下函数. 静态 curPipeNumber = 0;/** skipToEntry() 将 'curPipeNumber' 更新为 'pipeNumber' 并返回第 ('pipeNumber') 管
..
我编写这段代码是为了将单词列表减少为有多少单词以“A"开头的长计数.我只是为了学习 Java 8 而编写它,所以我想更好地理解它[免责声明:我意识到这可能不是编写此代码的最佳方式;这只是为了练习!]. Long countOfAWords = results.stream().reduce(0L,(a, b) ->b.charAt(0) == 'A' ?一+1:一,长::总和); 中间参数/l
..
我想根据 Streams 的内容将单个 Stream 拆分为 Streams 的 Stream.生成的 Stream 应该包含原始流数据的一部分. 我的实际应用程序更复杂(它将时间间隔列表内的日志行分组),但我的问题是如何处理流,所以在这里我问一个简化的例子. 示例问题 我希望能够根据重复的相同数字将 Stream 拆分为 Stream
..
有时在处理流的步骤之间对流中的每个元素执行“某些操作"(例如打印)会很方便,例如用于调试. 一个简单的例子可能看起来像这样,不幸的是这不起作用,因为 forEach 消耗流: 列表list = new ArrayList();list.add("一个");list.add("两个");list.add("三");list.add("四");列表过滤列表 =list.stream(
..
我基本上想做这样的事情: assertEquals(Arrays.asList(1,2,3).stream().noDiscardingFilter(x -> x!=1).map(x -> x*10).collect(Collectors.toList()),Arrays.asList(1,20,30)) 这是一个例子,我不需要回答如何解决这个特定的问题,它只是一个例子来说明我要追求什么.
..
我有一些代码: directoryChooser.title = "选择目录"val 文件 = directoryChooser.showDialog(null)如果(文件!= null){var 文件 = Files.list(file.toPath()).filter { f ->f.fileName.endsWith("zip") &&f.fileName.endsWith("ZIP")&
..
有一个字符串列表,我需要构造一个对象列表,它们实际上是对(字符串,它在列表中的位置).目前我有这样的代码使用谷歌收藏: public Robots(List 名称) {ImmutableList.Builderbuilder = ImmutableList.builder();for (int i = 0; i
..
..
我有一个 Array 并想对其元素执行一些匹配. 我知道在 java 8 中可以通过两种方式完成: String[] alphabet = new String[]{“A", “B", “C"}; 任意匹配: Arrays.stream(alphabet).anyMatch("A"::equalsIgnoreCase); findAny: Arrays.stream(alphabe
..
我有一个列表 a 我想将其拆分为几个小列表. 说出所有包含“aaa"的项目,所有包含“bbb"和一些谓词的项目. 如何使用 java8 做到这一点? 我看到了这个 post,但它只分成 2 个列表. public void partition_list_java8() {谓词startWithS = p ->p.toLowerCase().startsWith("s"
..
..
..
..
在学习 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
..
我想使用 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";
..
我在使用 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
..