日期:2014-05-20 浏览次数:20988 次
/**
* 分组
* @param list
* @return
*/
public static List<List<Ts>> getGroup(List<Ts> list){
List<List<Ts>> result = new ArrayList<List<Ts>>();
List<Ts> subList = new ArrayList<Ts>();
for (int i = 0; i < list.size(); i++) {
if(i == 0){
subList.add(list.get(0));
}else{
if(list.get(i).getA().equals(list.get(i - 1).getA()) && list.get(i).getB().equals(list.get(i - 1).getB())){
subList.add(list.get(i));
}else{
result.add(subList);
subList = new ArrayList<Ts>();
subList.add(list.get(i));
}
}
if(i == list.size() - 1){
result.add(subList);
}
}
return result;
List<Ts> tsList = new ArrayList<Ts>();
tsList.add(new Ts("a", "b", "vv"));
tsList.add(new Ts("a", "b", "@@"));
tsList.add(new Ts("aa", "bb", "cc"));
tsList.add(new Ts("aa", "bb", "dd"));
// tsList.add(new Ts("ab", "ab", "@@"));
// tsList.add(new Ts("ab", "ab", "66"));
List<List<Ts>> result = T.getGroup(tsList);
for (int i = 0; i < result.size(); i++) {
List<Ts> subList = result.get(i);
for (int j = 0; j < subList.size(); j++) {
if ("@@".equals(subList.get(j).getC())) {
System.out.println(subList.get(j).toString());
}
else {
System.out.println(subList.get(0).toString());
}
}
}
for (int i = 0; i < result.size(); i++) {
List<Ts> subList = result.get(i);
boolean flag = false;
for (int j = 0; j < subList.size(); j++) {
if ("@@".equals(subList.get(j).getC())) {
System.out.println(subList.get(j).toString());
flag = true;
}
}
if(!flag) {
System.out.println(subList.get(0).toString());
}
}