导航:首页 > 编程语言 > javahashmap排序value

javahashmap排序value

发布时间:2022-12-18 00:05:25

‘壹’ 如何对HashMap中的元素进行排序

HashMap是无序的集合,对里面的元素进行排序,需要借助其他有序的集合

参考代码

importjava.util.HashMap;
//java8流处理
publicclassDemo1{
publicstaticvoidmain(String[]args){
HashMap<String,Integer>map=newHashMap<>();
map.put("lucy",76);
map.put("tom",92);
map.put("jack",86);
//按照Key(名字)进行排序,并打印
map.entrySet().stream().sorted((e1,e2)->e1.getKey().compareTo(e2.getKey())).forEach(System.out::println);
System.out.println("-------分割线----------");
//按照value(分数)进行排序,并打印
map.entrySet().stream().sorted((e1,e2)->e1.getValue().compareTo(e2.getValue())).forEach(System.out::println);

}
}

‘贰’ hashmap按value排序


import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class SortHashMap {
public static void main(String[] args) {
//产生一个map并添加一些参数
Map<String, Integer> map = new HashMap<>();
map.put("ddd", 1);
map.put("aaa", 2);
map.put("bbb", 3);
map.put("ccc", 4);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
//将map的entryset放入list集合
// 对list进行排序,并通过Comparator传入自定义的排序规则
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
return o1.getValue() - o2.getValue(); //重写排序规则,小于0表示升序,大于0表示降序
}
});
//用迭代器对list中的键值对元素进行遍历
Iterator<Map.Entry<String, Integer>> iter = list.iterator();
while (iter.hasNext()) {
Map.Entry<String, Integer> item = iter.next();
String key = item.getKey();
int value = item.getValue();
System.out.println("键" + key + "值" + value);
}
}
}


如满意,请采纳

‘叁’ java hashmap按照value来排序

ArrayList<Entry<String,String>> list = new ArrayList<Entry<String,String>>(sMap.entrySet());

Collections.sort(list, new Comparator<Object>(){
public int compare(Object e1, Object e2){
int v1 = Integer.parseInt(((Entry<String,String>)e1).getValue().toString());
int v2 = Integer.parseInt(((Entry)e2).getValue().toString());
return v1-v2;

}
});

for (Entry<String, String> e: l){
System.out.println(e.getKey()+" "+e.getValue());
}

阅读全文

与javahashmap排序value相关的资料

热点内容
阿里云服务器怎么更改ip 浏览:643
pvp和普通服务器有什么区别 浏览:706
pc收银台系统源码 浏览:624
程序员老公要加班 浏览:961
51单片机控制的超声波 浏览:827
2021去水印最新源码 浏览:232
ug编程刀具号重复 浏览:960
空当接龙算法 浏览:609
可压缩流体非恒定二维流动 浏览:695
天龙八部网单没有找到技能文件夹 浏览:861
android串口程序 浏览:833
上海机器人程序员 浏览:914
两台阿里云服务器如何拷贝 浏览:170
阿里妈妈淘宝联盟需要什么app 浏览:368
什么人可以做编程员 浏览:359
网盘会员加速是在线解压嘛 浏览:109
单片机按键汇编程序 浏览:729
传播学纲要pdf第二版 浏览:385
乐友进销存有什么app 浏览:554
显示器维修pdf 浏览:618