package com.auto.main;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String... strings){
ArrayList<A> arrayList = new ArrayList<A>();
A a1 = new A();
a1.title = "T1";
a1.content = "C1";
arrayList.add(a1);
A a2 = new A();
a2.title = "T1";
a2.content = "C2";
arrayList.add(a2);
A a3 = new A();
a3.title = "T2";
a3.content = "C2";
arrayList.add(a3);
A a4 = new A();
a4.title = "T2";
a4.content = "C1";
arrayList.add(a4);
A a5 = new A();
a5.title = "T5";
a5.content = "C5";
arrayList.add(a5);
Test t = new Test();
//System.out.println(t.get(arrayList));
List<List<A>> llist = t.get(arrayList);
for(List<A> l:llist){
System.out.println("========start===========");
for(A a : l){
System.out.println(" a.content=" + a.content + ";a.title=" + a.title);
}
System.out.println("========end===========");
}
}
/**
*
* @param aList
* @return
*/
public List<List<A>> get(List<A> aList){
List<List<A>> result = new ArrayList<List<A>>();
List<A> key = new ArrayList<A>();
result.add(key);
key.add(aList.get(0));
aList.remove(0);
aList= process(aList,result);
while(!aList.isEmpty()){
aList= process(aList,result);
}
return result;
}
List<A> process(List<A> aList,List<List<A>> result){
List<A> key = result.get(result.size()-1);//最后一个
for(int i=0;i<aList.size();i++ ){
A m = aList.get(i);
for(A k : key){
if(m.content.equals(k.content)||m.title.equals(k.title)){
key.add(m);
aList.remove(i);
return aList;
}
}
}
List<A> ss = new ArrayList<A>();
ss.add(aList.get(0));
aList.remove(0);
result.add(ss);
return aList;
}
}
/**
无聊啊,把代码写了下
*/