java中重复数据的去除

public static void main(String[] args) throws Exception {

/*

//lang型与date型数据互转
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  long timeStart=sdf.parse("2013-08-15 15:30:00").getTime();
  System.out.println(timeStart);

  //Date date = new Date(timeStart);
  //System.out.println(sdf.format(date));
  
  long tim = new Long("1373221200000");
  Date date = new Date(tim);
  System.out.println(sdf.format(date));
  */
  Integer userAIds[]={1,2,3,4,5,6,5,4,3,2,1};
  HashSet<Integer> userAIdSet = new HashSet<Integer>(Arrays.asList(userAIds));
  System.out.println(userAIdSet);
  

     List<Integer> ids = new ArrayList<Integer>();
     List<Integer> list = new ArrayList<Integer>();
     List<Integer> list2 = new ArrayList<Integer>();
     ids.add(1);
     ids.add(1);
     ids.add(2);
     ids.add(3);
     ids.add(3);
     ids.add(3);
     ids.add(4);
     for(int i=0;i<ids.size();i++){
       if(list2.contains(ids.get(i))){
         if(!list.contains(ids.get(i))){
            list.add(ids.get(i));
         }
       }else{
        list2.add(ids.get(i));
       }
     }
     for(int j=0;j<list.size();j++){
      System.out.println("重复的是"+list.get(j));
     }
     for(int m=0;m<list2.size();m++){
      System.out.print("剔除重复后的数据是:"+list2.get(m)+"\t");
     }
      System.out.println();


  }

当你的数据由于各种原因出现重复而又无法去除时,可以考虑,将所有数据放入第一个集合,新new一个集合(第二个),然后用contains()包含方法来处理你的重复数据,效果还行。下面是我一次实践中的应用,我是小水,希望对各位来访有帮助:

public String Alarmtype(){
  HttpServletRequest request= ServletActionContext.getRequest();
  String types="";//**********
  List<Alarm_step> lists=alarm_stepService.querytype(types);
  //去重
  List<String> ids = new ArrayList<String>();
  List<String> list2 = new ArrayList<String>();
  if(lists.size()>0){
       for(int i=0;i<lists.size();i++){
            ids.add(lists.get(i).getSIGNALTYPE());
      }
   for(int i=0;i<ids.size();i++){
      if(list2.contains(ids.get(i))){
      }else{
       list2.add(ids.get(i));
       types=ids.get(i);
      }
   }
  }
  request.setAttribute("lists", list2);
  return "sigtype";
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值