java-8相关内容
流a = Stream.of("一", "三", "五");流b = Stream.of("二", "四", "六"); 我需要做什么才能使输出如下? //一个//二//三//四个//五//六 我查看了 concat 但正如 javadoc 解释的那样,它只是一个接一个地附加,它不会交错/穿插. 流out = Stream.concat(a, b);out.forEach(Sy
..
..
我是 Java 8 的新手.我有一个 A 类型的自定义对象列表,其中 A 如下所示: 类 A {内部标识;字符串名称;} 我想确定该列表中的所有对象是否具有相同的名称.我可以通过遍历列表并捕获名称的先前值和当前值来做到这一点.在这种情况下,我发现 如何计算列表中某个属性具有相同值的自定义对象的数量.但是有没有更好的方法在 java 8 中使用流来做同样的事情? 解决方案 一种方法是获
..
我正盯着一些我试图将其转换为纯函数式风格的命令式代码.基本上在 inputSet 上有一个迭代的 for 循环,我在其中检查 3 个谓词并根据哪个谓词匹配填充 3 个 outputSets.输出集可以重叠.如何使用 Java 8 流/映射/过滤器/等以纯函数方式执行此操作? 解决方案 最简单的解决方案(除了保持原样更容易)是创建三个单独的流: 设置set1 = inputSet.stre
..
我有两个列表如下 列表names = Arrays.asList("James","John","Fred");列表年龄 = Arrays.asList(25,35,15); 我想做的是像这样打印这两个列表 詹姆斯:25约翰:35弗雷德:15 用经典的方法很容易做到 for(int i=0;i 有没有办法使用 Stream API java 8 来做到这一点? 我能做的是
..
Function 接口的许多 lambdas 采用这种形式 t ->{//对 t 做点什么返回 t;} 我经常这样做,以至于我为此编写了一个这样的方法. 静态函数消费然后返回(消费者消费者){返回 t ->{消费者.accept(t);返回 t;};} 这使我能够做这样的非常好的事情: IntStream.rangeClosed('A', 'Z').mapToObj(a
..
从集合中创建流的最佳方法是: 最终集合实体 = someService.getArrayList(); entities.stream(); Stream.of(entities); 解决方案 第二个没有做你想的那样!它确实不为您提供包含集合元素的流;相反,它会给你一个带有单个元素的流,它是集合本身(而不是它的元素). 如果你需要一个包含集合元素的流,那么你必须使用ent
..
..
我有一个如下所示的集合,我想过滤掉除非月末日期之外的所有内容. 2010-01-01=2100.00,2010-01-31=2108.74,2010-02-01=2208.74,2010-02-28=2217.92,2010-03-01=2317.92,2010-03-31=2327.57,2010-04-01=2427.57,2010-04-30=2437.67,2010-05-01=2537
..
我正在尝试使用 Java 8 Collection-Stream 按多个属性对对象列表进行分组. 这很好用: 公共类 MyClass{公共字符串标题;公共字符串类型;公共字符串模块;public MyClass(字符串标题,字符串类型,字符串模块){this.type = 类型;this.title = 标题;这个.module=模块;}}列出数据 = 新的 ArrayL
..
..
如何在 Java 8 中将 Map 转换为 List>? 我写了这个实现,但是效率不高 MapimplicitDataSum = new ConcurrentHashMap();//....列出>mostRelevantTitles = new ArrayList();隐式DataSum.entrySet().溪流().sorted(Com
..
考虑以下代码: 列表奇数 = 新 ArrayList();列表偶数=空;列表myList = Arrays.asList(1,2,3,4,5,6,7,8,9,10);甚至 = myList.stream().filter(项目-> {if(item%2 == 0) { return true;}别的 {奇数.add(item);返回假;}}).collect(Collector
..
..
如何计算 Map 的加权平均值,其中 Integer 值是要平均的 Double 值的权重.例如:地图有以下元素: (0.7, 100)//值为 0.7,权重为 100 (0.5, 200) (0.3, 300) (0.0, 400) 我希望使用 Java 8 流应用以下公式,但不确定如何同时计算分子和分母并同时保留它.这里如何使用reduction? 解决方案 您可以为
..
我有以下 Java6 和 Java8 代码: Listlst1 =//ObjectType1 对象的列表列出lst2 =//ObjectType1 对象的列表,大小与 lst1 相同列表lst3 = new ArrayLis(lst1.size());for(int i=0; i Java8 中有什么方法可以使用 Lambda 以更简洁的方
..
这是我对 Stream 框架: 某事创建了一个源 流 实现负责提供一个BaseStream#parallel() 方法,该方法又返回一个可以并行运行其操作的 Stream. 虽然有人已经找到了使用方法一个具有 Stream 框架并行执行的自定义线程池,我在 Java 8 API 中找不到任何提及默认 Java 8 并行 Stream 实现将使用 ForkJoinPool#common
..
使用 Java 8 Stream API,我想注册一个“完成挂钩",如下所示: 流流 = Stream.of("a", "b", "c");//我无法控制的其他过滤器/映射stream.onComplete((Completion c) -> {//这就是我想做的:关闭资源();//这也可能有用:可选异常 = c.exception();exception.ifPresent(e ->
..
我想实现这样的目标: items.stream().filter(s->s.contains("B")).forEach(s-> s.setState("ok")).collect(Collectors.toList()); 过滤,然后更改过滤结果的属性,然后将结果收集到列表中.但是,调试器说: 无法在原始类型 void 上调用 collect(Collectors.toList()).
..
我已经创建了计算字母表中每个字符的方法.我正在学习流(函数式编程)并尝试尽可能多地使用它们,但在这种情况下我不知道该怎么做: 私有映射numerateAlphabet(列表字母){映射m = new HashMap();for (int i = 0; i
..