java-8相关内容
我有以下物品: 公共类项目{字符串值;列出拥有者;人物创造者;}公共类人{字符串名称;内部标识;人事经理;} 现在我有一个包含 3 个 Item 对象的列表: i1 ->{value="1", 所有者=[p1, p2, p3], 创建者=p4}i2 ->{value="2", 所有者=[p2, p3], 创建者=p5}i3 ->{value="3", 所有者=[p5], 创建者=p1
..
我想过滤 Person 类的列表,最后使用 Streams 映射到 Java 中的某个匿名类.我可以在 C# 中非常轻松地做同样的事情. 人物类 类人{公共 int ID { 获取;放;}公共字符串名称 { 获取;放;}公共字符串地址 { 获取;放;}} 将结果映射为期望格式的代码. 列表lst = 新列表();lst.Add(new Person() { Name = "P
..
我想尝试使用 java 收集器编写以下代码. 给定一个人的 2 个属性(名字和姓氏),我想获得一张地图,其中包含唯一的名字或姓氏作为键,以及相应人员的列表. 这是一组数据: Person person1 = new Person();person1.setFirstName("约翰");person1.setLastName("doe");person1.setUserId("use
..
我需要将 Map> 转换为 Map.我一直在为这个问题苦苦挣扎. Map到Map的转换很明显: .collect(Collectors.groupingBy(Map.Entry::getKey,Collectors.mapping(Map.Entry::getValue, toList())) 但我找不到解决初始问题的方法.有一些易于准备的 java-8 方法吗? 解决方案 我认
..
这个我没办法解释,但是我在别人的代码中发现了这个现象: import java.io.IOException;导入 java.io.UncheckedIOException;导入 java.nio.file.Files;导入 java.util.stream.Stream;导入 org.junit.Test;公共类 TestDidWeBreakJavaAgain{@测试公共无效 testIoIn
..
我想使用 Java Stream 来运行一个 POJO 列表,例如下面的列表 List,并将其转换为 Map Map. 例如A类是: A 类 {公共字符串名称;公共字符串属性;} 我在下面编写了将值收集到地图中的代码Map: final Listas = new ArrayList();//已填充的列表 ...//如果名称没有重复则有效最终地图
..
这是一个例子:代码A: files.forEach(f -> {//去做}); 另外一个代码 B 可能会以这种方式使用: files.stream().forEach(f -> { }); 两者有什么区别,有stream()和没有stream()? 解决方案 实际上,它们大多是相同的,只是语义上略有不同. 代码 A 由 Iterable.forEach 定义,而代码 B 由
..
如果你有一个 Array 并且你想使用 Java8 的 forEach() 方法,哪种方法更好或更高效: Arrays.asList(new String[]{"hallo","hi"}).forEach(System.out::println); 或 Arrays.stream(new String[]{"hallo","hi"}).forEach(System.out::println)
..
我写了一些简单的代码,如下所示.这个类工作正常,没有任何错误. 公共类测试{公共静态无效主要(字符串[]参数){列表intList = IntStream.of(1,2,3,4,5,6,7,8,9,10).boxed().collect(Collectors.toList());int value = intList.stream().max(Integer::compareTo).ge
..
如我所见,显而易见的代码,在使用 Java 8 Stream 时,无论是“对象"流还是原始流(即 IntStream 和朋友)) 将只是使用: someStreamableResource.stream().whatever() 但是,相当多的“可流式资源"也有.parallelStream(). 阅读 javadoc 时不清楚的是 .stream() 流是否始终是顺序的,以及 .par
..
假设我想从 String 中删除所有非字母. String s = "abc-de3-2fg"; 我可以使用 IntStream 来做到这一点: s.stream().filter(ch -> Character.isLetter(ch)).//但是然后呢? 我该怎么做才能将此流转换回 String 实例? 另一方面,为什么我不能将 String 视为 Character 类型的对象
..
接口Stream中有一个重载方法collect(),签名如下: R collect(Supplier供应商,BiConsumer累加器,BiConsumer组合器) 还有另一个版本的collect(Collectorcollector),它接收一个具有前面三个函数的对象.combiner对应的接口Collector的属性有签名BinaryOperat
..
我想将 InputStream is 转换为 Stream以 stream 由 is 行组成的方式给定 Charset cs.此外,一行 is 不应立即读取,而应仅在 stream 需要时读取. 解决方案 我觉得你可以试试: 流lines = new BufferedReader(new InputStreamReader(is, cs)).lines();
..
我在 Stream 中有 Google Guava: this.map.entrySet().stream().filter(entity -> !Strings.isNullOrEmpty(entity.getValue())).map(obj -> String.format("%s=%s", obj.getKey(), obj.getValue())).collect(Collectors
..
我想提前澄清一下,我正在寻找一种使用 Streams 计算标准偏差的方法(我目前有一种工作方法可以计算并返回 SD,但不使用 Streams). 我正在使用的数据集与 链接.如此链接所示,我可以将我的数据和获得平均值但无法弄清楚如何获得 SD. 代码 outPut.stream().collect(Collectors.groupingBy(e -> e.getCar(),Colle
..
公共类消息{私人 int id;私人用户发件人;私人用户接收器;私有字符串文本;私人日期发送日期;..} 我有 列表list=new ArrayList(); 我需要将它们转换为 TreeMap>地图 我知道如何使用 HashMap 进行转换 list.stream().collect(Collectors.groupingBy(Message::getSender)); 但我需
..
自从 java-9 调用 Collectors.flatMapping 作为分组或分区的下游发生.例如(示例取自 here): 列表>列表 = Arrays.asList(Arrays.asList(1, 2, 3, 4, 5, 6),Arrays.asList(7, 8, 9, 10));映射>地图 =list.stream().collect(Collect
..
我想计算一个流的不同元素,想知道为什么 流流 = Stream.of("a", "b", "a", "c", "c", "a", "a", "d");映射counter1 = stream.collect(Collectors.toMap(s -> s, 1, Integer::sum)); 不起作用.Eclipse 告诉我 类型Collectors中的toMap(Fun
..
我有一个整数列表,比如 list1,我想获得另一个列表 list2,其中包含从开始到当前索引的累积总和.如何使用 Stream API java 8 做到这一点? 列表list1 = new ArrayList();list1.addAll(Arrays.asList(1, 2, 3, 4));列表list2 = new ArrayList();//初始化list2.add(list1.
..
考虑以下代码片段 String strings[] = {"test"};最终列表收集 = java.util.Arrays.stream(strings).collect(java.util.stream.Collectors.toList());final Double[] 数组 = java.util.Arrays.stream(strings).toArray(Double[]
..