`
xiaguangme
  • 浏览: 71392 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

去除重复元素

 
阅读更多
/*
 * 文 件 名:  FilterRepeat.java
 * 版    权:   
 * 描    述:  <描述>
 * 修 改 人:  simon
 * 修改时间:  2011-10-9
 */
package org.simon.filterrepeat;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 
 * @author  chenxiaguang@gmail.com
 * @version  [版本号, 2011-10-9]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public class FilterRepeat
{

    /** <一句话功能简述>
     * <功能详细描述>
     * @param args
     * @see [类、类#方法、类#成员]
     */
    public static void main(String[] args)
    {
        List<String> testList = new ArrayList<String>();
        List<String[]> repeatList = new ArrayList<String[]>();
        for(int i=0;i<150000;i++)
        {
            testList.add("test," + String.valueOf(i) + ",aaaa");
        }
        List<String[]> testArrList = new ArrayList<String[]>();
        long a = System.currentTimeMillis();
        for(String s : testList)
        {
            testArrList.add(s.split(","));
        }
        long c = System.currentTimeMillis();
        System.out.println(c-a);
        Collections.sort(testArrList, new Comparator()
        {

            @Override
            public int compare(Object o1, Object o2)
            {
                String [] s1 = (String[]) o1;
                String [] s2 = (String[]) o2;
                return s1[1].compareTo(s2[1]);
            }
            
        });
        System.out.println(System.currentTimeMillis() - c);
//        testList.add("2");
//        testList.add("3");
//        testList.add("1");
//        testList.add("2");
//        testList.add("1");
//        testList.add("3");
//        testList.add("2");
//        testList.add("1");
//        testList.add("1");
        
        // ConcurrentModificationException
        long b = System.currentTimeMillis();
        System.out.println(b-c);
//        for(int i=0;i<testArrList.size();i++)
//        {
//            for(int j=testArrList.size()-1;j>i;j--)
//            {
//                if(testArrList.get(i)[1].equals(testArrList.get(j)[1]) )
//                {
//                    //
//                    repeatList.add(testList.get(j));
//                    testList.remove(j);
//                }
//            }
//        }
        List<String[]> noRepeatList = new ArrayList<String[]>();
        for(int i=0;i<testArrList.size()-1;i++)
        {
            
            if(testArrList.get(i)[1].equals(testArrList.get(i+1)[1]) )
            {
                //
                repeatList.add(testArrList.get(i));
            }
            else
            {
                noRepeatList.add(testArrList.get(i));
            }
            
        }
        noRepeatList.add(testArrList.get(testArrList.size()-1));
        System.out.println(System.currentTimeMillis() - b);
        System.out.println("end:" + (System.currentTimeMillis() - a));

    }

}

 

 

去除重复元素

不要太考虑奇技淫巧  毕竟才15w条

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics