以前的排序均为数组排序,关于List排序基本没有说及,下面我将我的解决办法贴出供大家讨论
import java.util.*;
public class InsertSortList{
public static void main(String[] args){
String a="120,null,8";
String u="120,null,8";
String b="121,789,8";
String c="456,120,9";
String d="456,120,67";
String e="456,120,88";
String f="234,124,456";
String g="234,124,654";
String h="234,120,345";
String k="678,120,678";
String tmpStr1="";
String tmpStr2="";
String oneStr1="";
String oneStr2="";
String middleStr1="";
String middleStr2="";
String twoStr1="";
String twoStr2="";
List tmpList=new ArrayList();
tmpList.add(a);
tmpList.add(c);
tmpList.add(b);
tmpList.add(d);
tmpList.add(e);
tmpList.add(f);
tmpList.add(g);
tmpList.add(u);
tmpList.add(h);
tmpList.add(k);
List twoList=new ArrayList();
List oneList=new ArrayList();
int length=tmpList.size();
for(int i=0;i<length;i++){
tmpStr1=(String)tmpList.get(i);
oneStr1=tmpStr1.substring(0,tmpStr1.indexOf(","));
if(twoList.size()>0){
int count=0;
for(int v=0;v<twoList.size();v++){
if(oneStr1.equals((String)twoList.get(v))){
count++;
}
}
if(count==0){
for(int j=0;j<length;j++){
tmpStr2=(String)tmpList.get(j);
oneStr2=tmpStr2.substring(0,tmpStr2.indexOf(","));
if(oneStr1.equals(oneStr2)){
oneList.add(tmpStr2);
}
}
twoList.add(oneStr1);
}
}
else{
for(int j=0;j<length;j++){
tmpStr2=(String)tmpList.get(j);
oneStr2=tmpStr2.substring(0,tmpStr2.indexOf(","));
if(oneStr1.equals(oneStr2)){
oneList.add(tmpStr2);
}
}
twoList.add(oneStr1);
}
}
for(int j=0;j<twoList.size();j++){
System.out.println("twoList==="+(String)twoList.get(j));
}
for(int j=0;j<oneList.size();j++){
System.out.println("oneList==="+(String)oneList.get(j));
}
}
}