整数数组按频率和大小排序
2016-05-20 22:09
316 查看
import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.Map; public class tt { public static void main(String[] args){ //数字排序,按频率由低到高,相同频率按数字大小排序 Integer[] array = {12,12,6,6,8,0,1,2,1,3,8,1,45}; Map<Integer,Integer> m = new HashMap<>(); for(int d : array){ m.put(d,m.get(d)==null ? 1 : m.get(d)+1); } System.out.println("map:" + m); System.out.println("origin:" + Arrays.toString(array)); Comparator<Integer> comparator = new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { if(m.get(o1) != m.get(o2)){ return Integer.compare(m.get(o1),m.get(o2)); }else { return Integer.compare(o1,o2); } } }; Arrays.sort(array,comparator); System.out.println("after sort:"+Arrays.toString(array)); } }
相关文章推荐
- 关于PHP浮点数你应该知道的(All 'bogus' about the float in PHP)
- 在命令行用 sort 进行排序
- 文件遍历排序函数
- C#选择排序法实例分析
- C#插入法排序算法实例分析
- C#实现Datatable排序的方法
- MYSQL必知必会读书笔记第五章之排序检索数据
- SQLSERVER的排序问题结果不是想要的
- Windows Powershell排序和分组管道结果
- C#通过IComparable实现ListT.sort()排序
- C#选择法排序实例分析
- SQL学习笔记四 聚合函数、排序方法
- C#对list列表进行随机排序的方法
- jQuery拖动元素并对元素进行重新排序
- 将MySQL查询结果按值排序的简要教程
- 一根网线内的8根线哪4根是传输数据的,哪四根是防干扰的
- 在ASP.NET 2.0中操作数据之二十四:分页和排序报表数据
- C语言实现选择排序、冒泡排序和快速排序的代码示例
- C#折半插入排序算法实现方法
- SQL进行排序、分组、统计的10个新技巧分享