/*
* 文 件 名: 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条