博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
map排序
阅读量:6031 次
发布时间:2019-06-20

本文共 1873 字,大约阅读时间需要 6 分钟。

1.

public class DemoTreeMap3 {    public static void main(String[] args) {        System.out.println("------对hashMap按照key进行排序----------");        Map
map = new HashMap
(); map.put(new Car("凯迪拉克",50),"看iadilake1"); map.put(new Car("法拉利",100),"阿迪发送发的"); map.put(new Car("大众", 20), "迈腾"); Comparator
c = new CarComparator(); Map
map2 = new TreeMap
(c); map2.putAll(map); Set
set = map2.keySet(); for (Car car : set) { System.out.println(car.getPrice()+"--"+car.getType()); } System.out.println("------对hashMap按照value进行排序----------"); //对HashMap按照value进行排序 Map
map3 = new HashMap
(); map3.put("大众",new Car("凯迪拉克",50)); map3.put("法拉利",new Car("法拉利",100)); map3.put("福特",new Car("福特", 20)); //第一步:把待排序map集合的引用传递进入自定义比较器 //第二步:在自定义比较器中,加入成员变量,接收map集合的引用 Comparator
compar = new CarComparator2(map3); Map
treeMap = new TreeMap
(compar); treeMap.putAll(map3); Collection
cars = treeMap.values(); for (Car car : cars) { System.out.println(car.getPrice()+"--"+car.getType()); } }}
View Code
import java.util.Comparator;public class CarComparator implements Comparator
{ @Override public int compare(Car o1, Car o2) { return (int)(o1.getPrice()-o2.getPrice()); }}
View Code
public class CarComparator2 implements Comparator
{ private Map
map; public CarComparator2(Map
map3) { this.map = map3; } @Override public int compare(String key1, String key2) { Car car1 = map.get(key1); Car car2 = map.get(key2); return (int) (car1.getPrice() - car2.getPrice()); }}
View Code

 

转载于:https://www.cnblogs.com/galibujianbusana/p/5712971.html

你可能感兴趣的文章
个人总结
查看>>
uva 673 Parentheses Balance
查看>>
Bzoj 2252: [2010Beijing wc]矩阵距离 广搜
查看>>
css 禁止选中文本
查看>>
bzoj2165
查看>>
tomcat 配置首页
查看>>
算术运算表达式正则及分析
查看>>
Oracle 12c 多租户 手工创建 pdb 与 手工删除 pdb
查看>>
shell初涉
查看>>
[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(二)
查看>>
ASP.NET 中设置路径的三种方式
查看>>
EBS使用 Distributed AD在多个节点并行adpatch
查看>>
windows添加和删除服务
查看>>
关于云栖,有点无语的几个地方,管理能不能管?
查看>>
Windows线程的同步与互斥
查看>>
C#进阶系列——MEF实现设计上的“松耦合”(四):构造函数注入
查看>>
AngularJs ng-change事件/指令(转)
查看>>
linux系统下安装两个或多个tomcat
查看>>
ProtoBuffer 简单例子
查看>>
iOS多线程开发系列之(一)NSThread
查看>>