按数组中元素出现的次数排序
来源:互联网 发布:陈子豪的淘宝店 编辑:程序博客网 时间:2024/05/21 19:45
//按数组中元素出现的次数排序
private int[] sortArr(int[] arr) {
int max = 0;
Set<Object> result = new HashSet<Object>();
Map<Object, Integer> mp = new HashMap<Object, Integer>();
for (int i = 0; i < arr.length; i++) {
Integer num = mp.put(arr[i], 1);
if (num != null) {
mp.put(arr[i], num + 1);
if (num > max) {
result.clear();
result.add(arr[i]);
max = num;
} else if (num == max) {
result.add(arr[i]);
}
}
}
Set set = mp.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
Long key1 = Long.valueOf(((Map.Entry) arg0).getValue().toString());
Long key2 = Long.valueOf(((Map.Entry) arg1).getValue().toString());
return key1.compareTo(key2);
}
});
int[] ids = new int[entries.length];
for (int i = entries.length - 1; i >= 0; i--) {
Map.Entry entry = entries[i];
ids[i] = Integer.parseInt(entry.getKey().toString());
}
return ids;
}
- 按数组中元素出现的次数排序
- 数组中元素出现的次数
- python 统计数组中元素出现次数并进行排序
- Swift按照数组元素出现的次数及大小排序
- 输入一个数组,对数组进行排序,并输出该数组中重复元素出现的次数
- java中判断数组中元素出现的次数
- 求出数组中相同的元素出现的次数
- 统计数组中各数字(元素)出现的次数
- 统计一个无序数组中出现次数最多的元素
- LINQ 获取当前数组中出现次数最多的元素
- 求数组中出现次数超过一半的元素
- 找出一个数组中出现次数超过一半的元素
- 数组中出现次数最多的元素_legend
- 查找数组中出现次数超过一半的元素
- 统计一个无序数组中出现次数最多的元素
- 求数组中出现次数超过一半的元素
- 整型数组中出现次数最多的元素
- 输出数组中出现次数最多的元素
- Java程序员的推荐阅读书籍
- 库存
- GNU make 参数
- Linux exec函数族(转载)
- switch
- 按数组中元素出现的次数排序
- applet将服务器上文件下载到本机指定目录下 求解
- 设计模式学习笔记
- The feeling after reading >
- 指向常对象的指针变量
- 经典书籍
- jdk配置
- Step-By-Step Installation of 9i RAC on IBM AIX(3) 转载
- android手机自带浏览器无法识别apk文件