java list map 去重和排序方法

本文介绍了一种使用Java对包含时间字段的Map列表进行排序的方法,并提供了一个实用的去重算法实现。通过自定义比较器实现了按时间字段对列表进行升序排序,同时提供了去除重复元素(基于时间字段判断)的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
* 排序方法
* @param list
* @return
*/
public List<Map<String, Object>> compareBytime(List<Map<String, Object>> list){

   Collections.sort(list, new Comparator<Map<String, Object>>(){    
       public int compare(Map<String, Object> o1, Map<String, Object> o2) {  
        String name1 =(String)o1.get("time");//name1是从你list里面拿出来的一个  
        String name2= (String)o2.get("time"); //name1是从你list里面拿出来的第二个name      
        return name1.compareTo(name2);    
       }   
        });
   
  return list;  
}


/**
* 去重方法
* @param list
* @return
*/
public List<Map<String, Object>> outRepeat(List<Map<String, Object>> oldList){

List<Map<String, Object>> newList = new ArrayList<Map<String, Object>>();
 
   for(Map oldmap : oldList){
   
    String oldTime = oldmap.get("time").toString();
    int t =0;
    for(Map newmap : newList){
   
    String newTime = newmap.get("time").toString();
    if(newTime.equals(oldTime)){
    break;
    }
    t++;
    }
   
    if(t == newList.size()){
    newList.add(oldmap);
    }
   }
   
  return newList;  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值