TreeMap Comparator 根据vlaue 值排序案例
来源:互联网 发布:fl网络语什么意思 编辑:程序博客网 时间:2024/05/17 07:08
测试类:
public class TestMapSort {
public static void main(String[] args) {
HashMap<String, LifeDataModel> map = new HashMap<String, LifeDataModel>();
ValueComparator bvc = new ValueComparator(map);
TreeMap<String, LifeDataModel> sorted_map = new TreeMap<String, LifeDataModel>(bvc);
LifeDataModel model1 = new LifeDataModel();
model1.setCallNum(100);
model1.setCallTime(255);
model1.setHighCallNum(10);
LifeDataModel model2 = new LifeDataModel();
model2.setCallNum(90);
model2.setCallTime(255);
model2.setHighCallNum(10);
LifeDataModel model3 = new LifeDataModel();
model3.setCallNum(200);
model3.setCallTime(255);
model3.setHighCallNum(10);
map.put("10001",model1);
map.put("10002",model2);
map.put("10003",model3);
System.out.println("unsorted map: "+map);
sorted_map.putAll(map);
System.out.println("results: "+sorted_map);
}
}
class ValueComparator implements Comparator<String> {
Map<String, LifeDataModel> baseMap ;
public ValueComparator(Map<String, LifeDataModel> baseMap) {
this.baseMap = baseMap;
}
@Override
public int compare(String a, String b) {
if (baseMap.get(a).getCallNum() >= baseMap.get(b).getCallNum()) {
return -1;
} else {
return 1;
}
}
}
l类对象:
public class LifeDataModel {
/*private boolean newStatus = false;
private boolean oldStatus = false;
private double newPremiun = 0.0;
private double oldPremiun = 0.0;
private int custNum = 0;*/
//以下3个指标都是一个前后变化的差值
private int callNum;//通次
private double callTime;//通时
private int highCallNum;//通时在1000s以上的通次
public int getCallNum() {
return callNum;
}
public void setCallNum(int callNum) {
this.callNum = callNum;
}
public double getCallTime() {
return callTime;
}
public void setCallTime(double callTime) {
this.callTime = callTime;
}
public int getHighCallNum() {
return highCallNum;
}
public void setHighCallNum(int highCallNum) {
this.highCallNum = highCallNum;
}
private int submittedNum;//线上提交件
private double submittedPremium;//线上提交保费
private int confirmedNum;//线上成交件
private double confirmedNumPremium;//线上成交保费
public int getSubmittedNum() {
return submittedNum;
}
public void setSubmittedNum(int submittedNum) {
this.submittedNum = submittedNum;
}
public double getSubmittedPremium() {
return submittedPremium;
}
public void setSubmittedPremium(double submittedPremium) {
this.submittedPremium = submittedPremium;
}
public int getConfirmedNum() {
return confirmedNum;
}
public void setConfirmedNum(int confirmedNum) {
this.confirmedNum = confirmedNum;
}
public double getConfirmedNumPremium() {
return confirmedNumPremium;
}
public void setConfirmedNumPremium(double confirmedNumPremium) {
this.confirmedNumPremium = confirmedNumPremium;
}
}
- TreeMap Comparator 根据vlaue 值排序案例
- TreeMap Comparator 排序
- TreeMap Comparator按照首字母排序
- TreeMap利用Comparator接口排序
- 黑马程序员-treeMap根据值排序
- JAVA HashMap、TreeMap根据value值排序
- JAVA HashMap、TreeMap根据value值排序
- TreeMap 根据key 倒序排序
- java 根据vlaue获取key
- JDK学习---深入理解Comparator、TreeSet、TreeMap为什么可以排序
- Map中的TreeMap根据value排序
- java TreeMap 及 Comparator
- TreeMap使用自定义Comparator
- SortedMap TreeMap 使用Comparator排序器 对key(为对象)排序
- TreeMap的Comparator, 要慎用
- Java中的TreeMap、Comparable、Comparator
- 使用TreeMap按值排序
- Comparator排序
- 华为手机中导航键显示与隐藏的监听
- sublimeText编辑器,不支持中文鼠标跟随的问题
- 一键锁屏
- js进制间转换
- overide与overload的区别
- TreeMap Comparator 根据vlaue 值排序案例
- 找实习之计算机网络复习
- Activithy切换动画
- iOS 之 TableView如何刷新指定的cell 或section
- mysql 增加sequence
- 2016年3月3日10:26:15 大一下学期开学第一周。
- Android ViewPager + Fragment 懒加载处理
- swiftt之表格控件(UITableView)详解,出错,求指南
- 获取【ApplicationContext】的几种方法