日期:2014-05-20 浏览次数:20779 次
/** * 分组 * @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()); } }