1、需求是某某供应商可以参与投标多轮;现要求存在多轮报价取最后一次的报价文件;不存在则取第一次的报价;(第一次的投标逻辑与之后的逻辑不一样,存在不同的表里)
2、Hashmap是无序的;treeMap是有序的即:
Map<String, Object> map = new TreeMap<String,Object>(Collections.reverseOrder());//treeMap是有序的,treeMap默认是根据key升序的.
Collections.reverseOrder()即可更改key的排序方式(降序);
3、将相关数据和对象放在用报价次数作为key,降序排序;循环,可以取到相关的数据和附件即可停止
4、map排序的方法
//创建 TreeMap 集合,设置Key降序方法一: //TreeMap<Integer,UserInfo> userTreeMap = new TreeMap<>(Collections.reverseOrder()); //创建 TreeMap 集合,设置Key降序方法二: TreeMap<Integer,UserInfo> userTreeMap = new TreeMap<Integer,UserInfo>(new Comparator<Integer>() { public int compare(Integer key1,Integer key2) { //降序排序 return key2.compareTo(key1); } }); //获取用户信息列表 userTreeMap.putAll(getUserMap()); //遍历用户信息列表 System.out.println("TreeMap集合,实现Key降序:"); for(Iterator<Integer> it = userTreeMap.keySet().iterator(); it.hasNext();) { int key = it.next(); UserInfo value = userTreeMap.get(key); System.out.println("Key键:" + key); System.out.println("Value值:" + value); }
标签:map,降序,TreeMap,key,附件,new,排序,userTreeMap From: https://www.cnblogs.com/wwwcf1982603555/p/17967161