gpt4 book ai didi

java - 从java中的字符串集合中对数据进行分组

转载 作者:行者123 更新时间:2023-12-01 07:19:10 28 4
gpt4 key购买 nike

我有一个包含一些数据的字符串集合。例如:

List<String> list = new ArrayList<>();
list.add("10/10/2012 [user2] some message1");
list.add("10/10/2012 [user1] some message2");
list.add("10/10/2012 [qwwww] some message3");
list.add("11/10/2012 [user3] some message4");
list.add("11/10/2012 [user3] some message5");
list.add("12/10/2012 [user2] some message6");
list.add("12/10/2012 [user3] some message7");
list.add("12/10/2012 [user2] some message8");
list.add("12/10/2012 [sdsds] some message9");
list.add("12/10/2012 [user2] some message10");

您能建议一种简单的方法来计算 Java 中每个用户名、日期或消息的出现次数吗?

例如,用户应该是

user1 = 1
user2 = 4
user3 = 3
sdsds = 1
qwwww = 1

最佳答案

  1. 首先,让我们简化您的代码。我建议制作一个 User目的或某种形式并使其具有 name , datemessage属性,那么您的列表将变为 List<User> .
  2. 至于对 User 进行分组对象通过某些给定的属性,您可以利用 Streams API,特别是,您对 groupingBy 感兴趣方法。

您可以在网站内和此处找到许多有关如何按给定属性对元素进行分组的示例:

<小时/>

完成上述第 1 步后,这是如何按 name 进行分组的快速示例属性,并且可以轻松扩展为按另一个属性进行分组:

Map<String, Long> resultSet = userList.stream().collect(
Collectors.groupingBy(User::getName, Collectors.counting()));
System.out.println(resultSet);

关于java - 从java中的字符串集合中对数据进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46390984/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com