如何去除重复内容?

来源:8-8 使用Cookie实现保存商品浏览记录

QQQJ君4072683

2016-10-18 17:36

本课中的list中会存储重复的内容,如何较好的去除重复的内容?

写回答 关注

1回答

  • RuthlessPotato丶
    2016-10-19 15:59:56
    已采纳

    1、通过循环进行删除

    public   static   void  removeDuplicate(List list)   {
      for  ( int  i  =   0 ; i  <  list.size()  -   1 ; i ++ )   {
       for  ( int  j  =  list.size()  -   1 ; j  >  i; j -- )   {
         if  (list.get(j).equals(list.get(i)))   {
           list.remove(j);
         }
       }
     }
     System.out.println(list);
    }

    2、通过HashSet删除
    public   static   void  removeDuplicate(List list)   {
       HashSet h  =   new  HashSet(list);
       list.clear();
       list.addAll(h);
       System.out.println(list);
    }

    3、删除重复元素,并保持顺序。(我没试)

    public   static   void  removeDuplicateWithOrder(List list)   {
         Set set  =   new  HashSet();
         List newList  =   new  ArrayList();
      for  (Iterator iter  =  list.iterator(); iter.hasNext();)   {
            Object element  =  iter.next();
            if  (set.add(element))
               newList.add(element);
        }
        list.clear();
        list.addAll(newList);
        System.out.println( " remove duplicate "   +  list);
    }

    4、定义一个方法,调用即可。

      publi List<String> getNewList(List<String> li){
           List<String> list = new ArrayList<String>();
           for(int i=0; i<li.size(); i++){
               String str = li.get(i);  //获取传入集合对象的每一个元素
               if(!list.contains(str)){   //查看新集合中是否有指定的元素,如果没有则加入
                   list.add(str);
               }
           }
           return list;  //返回集合
       }

       public class Test{
           public static void main(String[] args){
              ArrayList<String> arr = new ArrayList<String>();
              arr.add("aaa");
              arr.add("bbb");
              arr.add("aaa");
              arr.add("ccc");
              arr = getNewList(arr);  //方法去重
              System.out.println(arr);
           }
       }

    QQQJ君4...

    感谢大神

    2016-10-20 09:52:23

    共 1 条回复 >

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248279 学习 · 3071 问题

查看课程

相似问题