`

list统计

    博客分类:
  • Java
阅读更多
package dx.report.schedule;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class TT {

	public static void main(String[] args) {
		final List<String> tts = new ArrayList<String>();
		tts.add("111:xxxx");
		tts.add("111:xxxx");
		tts.add("222:yyyyy");
		tts.add("111:yyyyy");
		tts.add("111:yyyyy");
		tts.add("111:yyyyy");
		tts.add("111:zzzzz");
		tts.add("111:zzzzz");
		tts.add("111:zzzzz");
		tts.add("111:zzzzz");
		tts.add("111:zzzzz");
		tts.add("111:zzzzz");
		tts.add("111:zzzzz");
		tts.add("111:zzzzz");
		tts.add("333:zzzzz");

//		System.out.println(tts.stream()
//        	.collect(Collectors.groupingBy(x->{return x.toString().split(":")[0];}, Collectors.groupingBy(x->{return x.toString().split(":")[1];}))));
//	
		Map<String,List<String>> groups = tts.stream().collect(Collectors.groupingBy(x->{return x.toString().split(":")[0];}));
		groups.forEach((k,v)->{
			final List<String> tlist = v.stream().map(x->{return x.replace(k+":", "");}).collect(Collectors.toList());
			Map<String,Long> unsortMap = tlist.stream()
										.distinct()
										.collect(Collectors.toMap(String::toString, x->{
												return tlist.stream().filter(t->t.equals(x)).count();
											}));
			Map<String, Long> result = new LinkedHashMap<>();
			unsortMap.entrySet().stream()
		             .sorted(Map.Entry.<String, Long>comparingByValue().reversed())
		             .forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
			
			System.out.println(result);
			 
//			final List<String> tt = new ArrayList<>();
//			tg.forEach((a,b)->{tt.add(b+":"+a);});
//			List<String> fis = tt.stream().sorted((h1,h2)->h2.compareTo(h1)).collect(Collectors.toList());
//			System.out.println(fis);
		});
	}
	
//	public static void  t2() {
//		List<Map<String, Integer>> list = new ArrayList<>();
//		Random random = new Random();
//		String[] strings = { "A", "B", "C" };
//		for (int i = 0; i < 5; i++) {
//		    Map<String, Integer> map = new HashMap<>();
//		    for (int j = 0; j < 3; j++) {
//		        map.put(strings[random.nextInt(3)], random.nextInt(10));
//		    }
//		    list.add(map);
//		}
//		System.out.println(list);
//		Map<String, Integer> sum = list.stream() //
//		        .flatMap((map) -> map.entrySet().stream()) //
//		        .collect(Collectors.toMap(Entry::getKey, Entry::getValue, Integer::sum));
//		System.out.println(sum);
//	}
}

 

分享到:
评论

相关推荐

    数组,List 重复元素统计数量,找出唯一的元素

    两种不同方式(使用map和list两种方式)获得一下输出结果 数组和list 可以使用相同的方法,自己测试可以 控制台输出 1出现的次数:2 2出现的次数:2 3出现的次数:2 4出现的次数:3 5出现的次数:1 数组中唯一的元素是:...

    数据分组统计C#实例

    List&lt;Student&gt; students = new List(); // 假设students列表已经填充了学生对象 var groups = students.GroupBy(s =&gt; s.Grade); foreach (var group in groups) { Console.WriteLine($"Grade: {group.Key}"); ...

    使用List和Stream完成统计计算.zip

    本篇文章将深入探讨如何使用`List`和`Stream`进行统计计算,并结合`Lambda表达式`进一步提高代码的可读性和性能。 首先,`List`是Java集合框架中的一个重要成员,它代表一个有序的元素序列,可以进行添加、删除、...

    Python实现统计英文单词个数及字符串分割代码

    字符串分割 复制代码 代码如下: ...统计英文单词的个数的python代码 复制代码 代码如下: # -*- coding: utf-8 -*- import os,sys info = os.getcwd() #获取当前文件名称 fin = open(u’c:/a.txt’) info = fin.read

    C# List实现行转列的通用方案

    在报表统计方面,经常涉及到行转列报表的需求。以家庭月度费用为例,可以在[Name, Area, Month]三个维度上随意组合进行分组,三个维度中选择一个做为列显示。 2. 动态Linq的使用 使用System.Linq.Dynamic动态LINQ...

    Java Map、List、Set Swing 英文词频统计

    在Java编程语言中,Map、List和Set是三个核心的集合接口,它们分别代表了键值对、有序元素序列和不重复元素集。本项目利用这些数据结构进行英文词频统计,结合Swing构建用户界面,提供了一种交互式的文本分析工具。 ...

    java获取list中两元素时间差

    Java 获取 List 中两元素时间差 Java 中获取 List 中两元素时间差是指在 List 集合中计算每个元素之间的时间差异。下面是相关知识点的详细解释: List 数据结构 List 是一种常见的数据结构,在 Java 中有多种实现...

    java计算同一个list中是否有相同的值

    在给定的代码片段中,作者提供了一个方法来检测一个 `List` 中是否存在重复项,并统计最大重复次数。这种方法虽然实现了目标,但其效率较低,尤其是在处理大数据集时。接下来我们将详细分析该方法的工作原理,并探讨...

    python 统计数组中元素出现次数并进行排序的实例

    如下所示: lis = [12,34,456,12,34,66,223,12,5,66,12,23,66,12,66,5,456,12,66,34,... #进行统计,生成二维列表 b = [] for i in c: num = 0 for j in range(len(lis)): if lis[j] == i: num += 1 a = [] a.

    Ros统计在线用户

    ### Ros统计在线用户知识点详解 #### 一、背景与需求 在现代网络管理中,实时了解网络中的在线用户数量对于优化资源分配、保障网络安全及服务质量至关重要。本文将详细介绍如何利用RouterOS(ROS)系统实现对在线...

    matlab开发-Listfiles

    - 结合`cellfun`或`arrayfun`,可以对返回的文件名进行批量操作,例如统计指定目录下文件的数量:`numFiles = numel(listfiles('.'));` 6. **注意事项**: - 确保指定的目录存在,否则会引发错误。 - 如果目录...

    重复数字统计器

    可以使用标签(Label)控件显示最高频数字,或者使用列表框(List Box)展示所有数字及其出现次数。 6. **用户界面设计**:易语言提供了丰富的界面设计组件,如按钮、文本框、标签等,开发者可以通过布局管理器调整...

    list读取TXT文件

    除了基础的读取,还可以根据需求进行其他操作,如搜索特定内容、统计行数、处理特殊字符等。同时,VB提供了许多其他控件,如ListBox或ListView,它们也能够用来显示文件内容,但功能和用法可能有所不同。 总之,在...

    phplist v2.10.17

    - **统计报告**:提供详细的发送统计,包括邮件打开率、点击率等,帮助分析邮件营销效果。 ### 2. 安装与配置phplist 首先,确保服务器环境支持PHP运行,一般需要PHP 5.3或更高版本。下载phplist-2.10.17压缩包后...

    statistics journal list (SCI)

    【标题】"statistics journal list (SCI)" 涉及的是统计学领域被科学引文索引(SCI)收录的期刊列表。这个列表是衡量统计学研究质量和影响力的参考依据,包括了各类统计学及其相关领域的期刊。 【描述】"statistics...

    JAVA8 stream中三个参数的reduce方法对List进行分组统计操作

    当我们需要对List进行分组统计时,`reduce()`方法的三个参数版本就显得特别有用。本文将深入探讨如何利用这三个参数的`reduce()`方法对List进行分组统计操作。 首先,`reduce()`方法的签名如下: ```java &lt;U&gt; U ...

    SharePoint 2007 网站信息量统计

    本文将深入探讨如何使用自定义的Windows Forms应用程序来统计SharePoint 2007网站及网站集下的列表项总数。 首先,我们需要理解SharePoint 2007的基础架构。SharePoint 2007是由微软开发的企业级协作平台,它由多个...

    基于词表的词频统计(孔令德,C++,C)

    我们使用了链表(Linked List)来存储词语和其对应的频率信息。链表是一种常用的数据结构,可以动态地添加和删除数据。 快速排序的应用 在本文中,我们使用了快速排序(Quick Sort)算法来对词语的频率进行排序。...

    佛山统计年鉴2023(EXCEL白金典藏版)

    佛山统计年鉴2023(EXCEL白金典藏版) │ ├─第1部分 统计图 │ ├─第2部分 统计资料 ...典藏版)List.txt (6.48 KB) 佛山统计年鉴2023(EXCEL 白金典藏版).rar (1.27 MB, 需要: RMB 9 元)

    DataGridView 添加统计行实例

    2. **设置数据源**: 数据网格通常需要绑定到一个数据源,如DataTable、List或其他数据集。确保数据源包含需要进行统计操作的列。 ```csharp DataTable dt = new DataTable(); dt.Columns.Add("Column1", typeof(int...

Global site tag (gtag.js) - Google Analytics