首页 > 其他分享 >map根据次数排序,同时取最后一次查询到的附件数据

map根据次数排序,同时取最后一次查询到的附件数据

时间:2024-01-16 11:01:07浏览次数:25  
标签:map 降序 TreeMap key 附件 new 排序 userTreeMap

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

相关文章

  • python 搜索旋转排序数组 多种解法
    二分查找:旋转排序数组中仍然可以应用二分查找算法。首先,我们找到数组中最小的元素的索引,也就是旋转点的位置。然后,我们根据目标值与旋转点的大小关系,在旋转点的左侧或右侧进行常规的二分查找。defsearch(nums,target):#寻找旋转点left,right=0,len(nums)-1......
  • ABC 等多个系统 每个系统下有多个附件 ,每个系统获取自己最新日期的文档
    1.假如有ABC等多个系统每个系统下有多个附件,每个系统获取自己最新日期的文档(每个文件都标有最新日期duptime)Java代码从表中查询出的list怎莫处理得到每个系统下面最新的文件Map<String,List<Attachment>>attachmentsBySystem=newHashMap<>();//对每个附件进行遍......
  • HashMap源码随笔
    源码第一块:概述:Map接口的基于哈希表的实现。此实现提供所有可选的映射操作,并允许null值和null键。(HashMap类大致等同于Hashtable,只不过它是不同步的,并且允许null。此类不保证地图的顺序;特别是,它不保证订单会随着时间的推移保持不变。此实现为基本操作(get和put)提供恒......
  • 深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析
    PythonMongoDB排序对结果进行排序使用sort()方法对结果进行升序或降序排序。sort()方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。示例按名称按字母顺序对结果进行排序:importpymongomyclient=pymongo.MongoClient("mongodb://localhost:270......
  • 排序-归并排序
    主要思想-分治1.确定分界点mid=(l+r)/2下标中间值2.递归排序leftright3.归并合二为一排序算法的稳定性:稳定是指原序列中两个数值相同的,在排序后位置不发生变化则称这个排序稳定(快排不稳定,归并稳定)......
  • 163的POP、IMAP和SMTP设置教程,简单好用
    在今天的数字时代,电子邮件已经成为人们生活和工作中不可或缺的一部分。而对于使用163邮箱的用户来说,熟悉和了解163的POP、IMAP和SMTP设置是确保顺畅收发邮件的关键步骤之一。在本文中,我们将为您详细介绍163邮箱的POP、IMAP和SMTP设置教程,使您能够轻松地配置您的邮箱,实现简单而高效......
  • js WeakMap
    ECMAScript6新增的“弱映射”(WeakMap)是一种新的集合类型,为这门语言带来了增强的键/值对存储机制。WeakMap是Map的“兄弟”类型,其API也是Map的子集。WeakMap中的“weak”(弱),描述的是JavaScript垃圾回收程序对待“弱映射”中键的方式。6.5.1基本API可以使用new关......
  • js 选择Object还是Map
    键和值在迭代器遍历时是可以修改的,但映射内部的引用则无法修改。当然,这并不妨碍修改作为键或值的对象内部的属性,因为这样并不影响它们在映射实例中的身份:constm1=newMap([["key1","val1"]]);//作为键的字符串原始值是不能修改的for(letkeyofm1.keys()){......
  • 每日一题 2024-1-15 删除排序链表中的重复元素Ⅱ
    1.题目(中等)原题链接给定一个已排序的链表的头\(head\),删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。示例1:输入:head=[1,2,3,3,4,4,5]输出:[1,2,5]示例2:输入:head=[1,1,1,2,3]输出:[2,3]提示:链表中节点数目在范围\([0,300]\)......
  • 用数组作为函数参数来实现冒号排序函数
    define_CRT_SECUNRE_NO_WARNINGS1include<stdio.h>voidbubble_sort(intarr[],intsz){inti=0;for(i=0;i<sz;i++)//冒泡的次数{intflag=1;//假设这一趟排序已经有序intj=0;for(j=0;j<sz-1-i;j++){if(arr[j]>arr[j+1]){inttmp......