【Java将数据进行分组处理】教程文章相关的互联网学习教程文章

如何使用Java8流分组然后toto列出toMap【代码】

原始数据如下:[{ 'k1': 'gbv1', 'k2': 'v2' },{ 'k1': 'gbv1', 'k2': 'v4' }, ]所需数据如下:{'gbv1': { 'v2': true, 'v4': true }, }即按k1分组,然后选择k2的值. 我目前所拥有的:examples.stream().collect(Collectors.groupingBy(Example::getK1,Collectors.mapping(Example::getK2,Collectors.toList())));它返回值k2的列表,而不是映射. 我大部分时间都在使用javascript,因为我认为它是动态的,所以很容易进行此类工作.解决方...

java-通过apache spark将行作为列表进行分组【代码】

我有一个特殊的用例,其中我为同一位客户有多行,每行对象看起来像:root-c1: BigInt-c2: String-c3: Double-c4: Double-c5: Map[String, Int]现在,我按列c1进行分组,并为同一客户收集所有行作为列表,例如:c1, [Row1, Row3, Row4] c2, [Row2, Row5]我试图这样做dataset.withColumn(“ combined”,array(“ c1”,“ c2”,“ c3”,“ c4”,“ c5”)).groupBy(“ c1”).agg(collect_list(“ combined”))但我得到一个例外:Exception i...

Java 8按一对多分组【代码】

我想学习如何使用Java 8语法与流,并有点卡住. 当你为每个值都有一个键时,很容易分组.但是如果我为每个值都有一个键列表并且仍然希望用groupingBy对它们进行分类呢?我是否必须将其分解为多个语句,或者可能有一些流魔术可以使其更简单. 这是基本代码:List<Album> albums = new ArrayList<>(); Map<Artist, List<Album>> map = albums.stream().collect(Collectors.groupingBy(this::getArtist));如果每个专辑只有一个艺术家,那么效...

在java8中按字符串集合进行分组【代码】

如何使用Java 8的表达式Stream groupingBy来完成这个操作? 我想转一个Set< String> allTextFileList包含:20150101_00b667339f32fcff37db6e89aea53065.txt 20150101_06d0e76e4782cff3ce455feecf72b80d.txt 20150301_11f706c03860068e7e736ff943525504.txt 20150301_33719f3b98081b32e9ffd3b932e1902d.txt到地图< String,Set< String>> textFileListBydate包含20150101 ->- 20150101_00b667339f32fcff37db6e89aea53065.txt- 201501...

java – 使用Lambda对列表进行排序和分组【代码】

让我们假设我有一个员工列表:private static List<Employee> list = new ArrayList<Employee>();static {list.add(new Employee("Joe", 100000, 1980));list.add(new Employee("Tim", 50000, 1982));list.add(new Employee("Mike", 90000, 1970));list.add(new Employee("Rick", 50000, 1955));list.add(new Employee("Andy", 60000, 1966));list.add(new Employee("Tim", 10000, 1995));list.add(new Employee("Tony", 130000, 1...

如何在JAVA 8中一起使用分组和排序【代码】

参见英文答案 > Java 8 is not maintaining the order while grouping 2个我试图对列表进行排序,然后对元素进行分组.问题是,当我对元素进行分组时,排序顺序是为了折腾. 下面是我的一段代码listOfRooms.stream().sorted(Comparator.comparing(DXARoom::getStayAverageRate)).collect(Collectors.groupingBy(DXARoom::getRoomInfoLabel));这就是我输出上述代码的方式{"Presidential suite": [{"r...

Java 8并行流并发分组【代码】

假设我有一个班级Class Person {String name;String uid;String phone; }我试图按班级的所有领域进行分组.如何在JAVA 8中使用并行流转换aList<Person> into Map<String,Set<Person>>其中地图的关键字是类中每个字段的值. JAVA 8以下示例组由单个字段组成,如何才能将一个类的所有字段组成一个Map?ConcurrentMap<Person.Sex, List<Person>> byGender = roster.parallelStream().collect(Collectors.groupingByConcurrent(Person::ge...

java – 检查分组分隔符是否为空格【代码】

我试图检查分组分隔符(char)是否是空格.这是法国语言环境的情况,但我的测试总是打印错误.DecimalFormat formatter = (DecimalFormat) DecimalFormat.getInstance(Locale.forLanguageTag("fr")); char ch = formatter.getDecimalFormatSymbols().getGroupingSeparator(); System.out.println(ch == ' '); // false System.out.println(Character.isWhitespace(ch)); // false解决方法:您收到的unicode符号不是普通的空格.这是一个不...

leetcode 49 字母异位词分组 java实现【代码】

leetcode 49 字母异位词分组 java实现 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”], 输出: [ [“ate”,“eat”,“tea”], [“nat”,“tan”], [“bat”] ] 说明: 所有输入均为小写字母。 不考虑答案输出的顺序。 public List<List<String>> groupAnagrams(String[] strs) {//创建新变量List<List<String>> res...

在Java 8中分组在具有聚合的多个字段上【代码】

参见英文答案 > Group by multiple field names in java 8 6个我有一个与Web访问记录相关的域对象列表.这些域对象可以扩展到数千个. 我没有资源或要求以原始格式将它们存储在数据库中,因此我希望预先计算聚合并将聚合数据放入数据库中. 我需要聚合在5分钟窗口中传输的总字节数,如下面的SQL查询select round(request_timestamp, '5') as window, --round timestamp to the nearest 5 minutecdn,...

java – Stream在分组后不保留顺序【代码】

我有一个List名称availableSeats我正在通过blockIndex属性进行排序和分组,如下所示:availableSeats.stream().sorted(Comparator.comparing(SeatedTicketAssignment::getBlockIndex)).collect(Collectors.groupingBy(SeatedTicketAssignment::getBlockIndex)).forEach((block, blockAssignments) -> {//Rest of the code} 问题是分组的结果不是由blockIndex排序的.解决方法:请记住,收集器#groupingBy(Function)将返回一个HashMap,它...

java – 是否可以在收集器分组的情况下对每个List进行操作而不创建中间映射?【代码】

我有以下代码在List上执行分组,然后对每个分组列表进行操作,然后将其转换为单个项目:Map<Integer, List<Record>> recordsGroupedById = myList.stream().collect(Collectors.groupingBy(r -> r.get("complex_id")));List<Complex> whatIwant = recordsGroupedById.values().stream().map(this::toComplex).collect(Collectors.toList());toComplex函数如下所示:Complex toComplex(List<Record> records);我觉得我可以在不创建中间...

Java根据年度将数据分组【图】

现在有这么一组数据code name year45615654 x1 2018-201978912648 x2 2018-201942364322 x3 2017-201887635225 x4 2016-2017我想在Java后台将数据按year分组该怎么做呢 首先数据一定是根据year排序好的 最后返到前台的数据格式是这样的 原理就是year每换一次map就往里put一组year和listchargeList: [{year: 2018-2019,list: [{code: 45615654,name: "x1"},{code: 78912648,name: "x2"},]}] 第一种实现 想要获得这样的数据需要最外层...

java – 如何在spring集成中使用聚合器对事件进行分组/批处理【代码】

我有一个通道,其有效负载是不同的POJO,实现了一个名为Event的接口.public interface Event {String getEventType(); }使用网关将许多事件类型的事件逐个添加到通道.我想根据事件类型对事件进行分组,并调用服务激活器.该服务具有以下签名.void processEventsInBatch(String eventType, List<Event> events);在列表中获取属于同一事件类型的多个事件以批量处理它们并减少对外部服务的多个调用非常重要. 如何通过弹簧集成实现这一目标...

java8 lambda表达式 groupingBy 分组操作【代码】

实验实体类 Student 1 package utill;2 3 /**4 * @author YangTao5 * @date 2019/6/17 21:066 */7 public class Student {8 int age;9 String username; 10 String code; 11 12 public Student() { 13 } 14 15 public Student(int age, String username, String code) { 16 this.age = age; 17 this.username = username; 18 this.code = code; 19 } 20 21 publi...

分组 - 相关标签