java-stream 相关问题

使用此标记可以获得与使用Stream API相关的问题。它是在Java 8中引入的,支持对值流进行功能样式的操作,例如集合上的filter-map-reduce管道。

java.util.stream.Stream.distinct()方法如何工作?我可以重写对象流的 equals() 方法吗?

我的用例是,我尝试使用 Stream 的 unique 方法从 StudentCourseMapping 类的对象列表中删除具有相同卷号的学生。 POJO详细信息如下: 公开

回答 2 投票 0

使用 Stream API 查找相同日期并计算对象

我需要一些有关 Stream API 的帮助。我需要根据位置对对象列表进行分组,如果位置相同但日期不同(无论时间如何),则将计数增加 1。 我已经提供了

回答 2 投票 0

动态对 POJO 类列表进行排序

考虑我有两个不同的 POJO 类,如下所示。 员工类{ 字符串 empId; 日期 empJoiningDate; BigDecimal emp经验; } 类 EmployeeDetails { 字符串 empName;...

回答 1 投票 0

使用从Vavr List.distinctBy创建的流返回的distinctBy时出现未定义方法错误

我想使用List.distinctBy来过滤Vavr提供的列表。 我在 pom.xml 中添加了这个依赖项 io.vavr vavr-kotlin...

回答 1 投票 0

如何在Java中根据某些属性合并两个不重复的流?

假设我们有两个流,如下所示: IntStream Stream1 = Arrays.stream(new int[] {13, 1, 3, 5, 7, 9}); IntStream Stream2 = Arrays.stream(new int[] {1, 2, 6, 14, 8, 10, 12}); 流1.合并(流...

回答 4 投票 0

如何使用 Java 8 流和过滤器过滤嵌套循环?

我有两个简单的 POJO: 公开课家长{ 字符串名称; List 子级 = new ArrayList<>(); 无效addChild(整数年龄){children.add(new Child(年龄)); } } 公共...

回答 3 投票 0

如何更改嵌套对象数组中字符串的值?

我有一个名为 User 的对象。用户对象包含对象数组。在对象的嵌套数组中有一个名为 Status 的键。我想映射或更改 Status 的值从“NEW”...

回答 1 投票 0

在 Java 8 中以不区分大小写的方式对字符串值进行排序

下面如何按不区分大小写的顺序对字符串值进行排序? 列表 listofEmployees = Arrays.asList( 新员工(1, "aaa", Arrays.asList(123, 345, 678)), 新员工...

回答 7 投票 0

Java Stream 中多个对象属性的累积和

我有一个按月年字符串属性排序的对象列表。 我的对象类定义如下: 公共类 Obj { 字符串年份; 会员数量长; 长期非会员人数; 双

回答 4 投票 0

多个对象属性Stream的累加和

我有一个按月年字符串属性排序的对象列表。 我的对象类定义看起来像 公共类Obj{ 字符串年份; 会员数量长; 长期非会员人数; 双

回答 4 投票 0

如何在java 8中获取findFirst()的索引?

我有以下代码: ArrayList 条目 = new ArrayList (); 条目.add(“0”); 条目.add(“1”); 条目.add(“2”); 条目.add(“3”); 字符串firstNotHiddenItem =

回答 4 投票 0

如何在Dijkstra中一行使用Java Stream

我正在尝试实现 Dijkstra 并且也在学习流。我无法使用流实现以下代码片段。我正在尝试使用流来迭代地图,过滤关键基础...

回答 1 投票 0


如何使用java 8中的流将集合/数组转换为JSONArray

我有一个双数组,我需要使用java流将数组转换为JSONArray。我尝试使用 forEach (共享可变性),这会导致数据丢失。 公共静态 JSONArray arrayToJson(

回答 2 投票 0

在Java中将流转换为字符串

我想将 Map<> 的流转换为字符串,并将其附加到文本区域。我尝试了一些方法,最后一个使用 StringBuilder,但它们不起作用。 公开 我想将 Map<> 的流转换为字符串,并将其附加到文本区域。我尝试了一些方法,最后一个使用 StringBuilder,但它们不起作用。 public <K, V extends Comparable<? super V>> String sortByAscendentValue(Map<K, V> map, int maxSize) { StringBuilder sBuilder = new StringBuilder(); Stream<Map.Entry<K,V>> sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())); BufferedReader br = new BufferedReader(new InputStreamReader((InputStream) sorted)); String read; try { while ((read=br.readLine()) != null) { //System.out.println(read); sBuilder.append(read); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } sorted.limit(maxSize).forEach(System.out::println); return sBuilder.toString(); } 您可以将条目收集到一个String中,如下所示: String sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())) .map(e-> e.getKey().toString() + "=" + e.getValue().toString()) .collect(Collectors.joining (",")); 考虑对 @Eran 的代码进行轻微更改,因为 HashMap.Entry.toString() 已经通过 = 为您加入了: String sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())) .map(Objects::toString) .collect(Collectors.joining(",")); 这很容易做到,您可以使用 Steams API 来做到这一点。首先,将映射中的每个条目映射到单个字符串 - 键和值的连接字符串。一旦你有了这个,你就可以简单地使用 reduce() 方法或 collect() 方法来做到这一点。 使用“reduce()”方法的代码片段将如下所示: Map<String, String> map = new HashMap<>(); map.put("sam1", "sam1"); map.put("sam2", "sam2"); String concatString = map.entrySet() .stream() .map(element-> element.getKey().toString() + " : " + element.getValue().toString()) .reduce("", (str1,str2) -> str1 + " , " + str2).substring(3); System.out.println(concatString); 这将为您提供以下输出: sam2 : sam2 , sam1 : sam1 您还可以使用 collect()' method instead ofreduce()` 方法。它看起来像这样: String concatString = map.entrySet() .stream() .map(element-> element.getKey().toString() + " : " + element.getValue().toString()) .collect(Collectors.reducing("", (str1,str2) -> str1 + " , " + str2)).substring(3); 两种方法给出相同的输出。

回答 3 投票 0

java.util.Arrays.asList 与removeIf 一起使用时会抛出 UnsupportedOperationException

我正在准备接下来 2 个月的 OCPJP 8 考试 目前我这个引起了我的注意,因为我不明白为什么 公共类 BiPredicateTest { 公共静态无效主(字符串[]参数)...

回答 1 投票 0


解析 Java 列表<List<LinkedHashMap<String,String>>> 使用流

我已经使用 JSON 路径解析了以下 JSON 字符串: { [ [ { "ID": "外部密钥", “名称”:“外部Ke...

回答 2 投票 0

有没有理由不使用通用的“Streamable”接口?

Collection 和Optional 都有一个stream 方法,如果我们想要扁平化Map,我们需要调用该方法。可能存在接受 Streamable 的重载,我们只需要平面地图集合和

回答 1 投票 0

如何使用流将 int[] 的所有元素添加到 StringBuilder,为每个元素添加额外的空间

我尝试使用以下代码将 int 数组 brr 的所有元素添加到 StringBuilder res 中: StringBuilder res = new StringBuilder(); Arrays.stream(brr).forEach(res::append); 我想要...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.