LinkedMap的使用
来源:互联网 发布:单片机怎么和电脑连接 编辑:程序博客网 时间:2024/06/13 21:37
输入一组数,输出是按每个出现的频率,比如1,3,3,4,5,9,9,9,3,3,输出为3,3,3,3,9,9,9,1,4,5如果频率一样就按原顺序输出。
package com.lyb.array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.Map;
public class SortArray {
public void sortfrequency(int arr[]){
LinkedHashMap<Integer, Integer> map = new LinkedHashMap<Integer, Integer>();
for (int i = 0; i < arr.length; i++) {
if (map.get(arr[i]) == null)
map.put(arr[i], 1);
else
map.put(arr[i], map.get(arr[i]) + 1);
}
//上面的for循环是统计每个数字出现的频率(次数)
ArrayList<Map.Entry<Integer, Integer>> list = new ArrayList<Map.Entry<Integer, Integer>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
// 降序排序
public int compare(Map.Entry<Integer, Integer> m1, Map.Entry<Integer, Integer> m2) {
return m2.getValue().compareTo(m1.getValue());
//根据出现的次数排序
}
});
System.out.print( "[");
for (Map.Entry<Integer, Integer> entry : list) {
//双重循环,第一重键值对,第二重根据值。值是多少就循环多少
for (int i = 0; i < entry.getValue(); i++) {
System.out.print(entry.getKey() + " ");
}
}
System.out.print( "]");
}
}
- LinkedMap的使用
- LinkedMap的C++实现
- HashMap,LinkedMap,TreeMap的区别
- HashMap,LinkedMap,TreeMap的区别
- HashMap,LinkedMap,TreeMap的区别
- HashMap,LinkedMap,TreeMap的区别
- HashMap,LinkedMap,TreeMap的区别
- hashmap,linkedmap,treemap,hashtable 各自的作用
- 从源码理解LinkedMap和HashMap的区别
- Java对集合的遍历 List ArryList HashMap LinkedMap JSON 数组等
- HashMap,HashTable,LinkedMap,TreeMap
- HashMap,HashTable,LinkedMap,TreeMap
- LinkedList 、LinkedMap 、Queue
- HashMap TreeMap LinkedMap HashTable
- linkedmap原理及应用
- javax.servlet.UnavailableException: org/apache/commons/collections/map/LinkedMap
- 在用StrutsMenu时,报异常java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LinkedMap
- spring启动报错:Cannot convert value of type [org.apache.commons.collections.map.LinkedMap] to required t
- 打开eclipse出现错误A java Runtime Environment(JRE) or Java Development Kit(JDK) must be...
- webpack无法通过 IP 地址访问 localhost 解决方案
- Java之多线程
- struts2 文件上传中断 再次访问404
- python语言学习——关于切片
- LinkedMap的使用
- 组成原理原码反码补码移码
- Android Camera API/Camera2 API 相机预览及滤镜、贴纸等处理
- 安卓recovery启动到升级一目了然
- java——分支结构
- 卸载Axure7.0
- StringBuffer探索
- [bzoj1087][SCOI2005]互不侵犯King题解
- CUDA并行编程较有用的总结