List<TrainingCourseClassApp>对这个进行分组;
TrainingCourseClassApp的属性有:
...
...
...
private String onBehalfApplicantId;
private String applicantRole;
private Integer applicantIdType;
private String applicantId;
...
...
我想要的是按applicantId分组成Map<String,List<TrainingCourseClassApp>>这样,其中String这个key值存储applicantId值。
有没有什么现成的方法,我对集合操作不太熟悉。
TrainingCourseClassApp的属性有:
...
...
...
private String onBehalfApplicantId;
private String applicantRole;
private Integer applicantIdType;
private String applicantId;
...
...
我想要的是按applicantId分组成Map<String,List<TrainingCourseClassApp>>这样,其中String这个key值存储applicantId值。
有没有什么现成的方法,我对集合操作不太熟悉。
List<TrainingCourseClassApp> list = new ArrayList();
for (TrainingCourseClassApp trainingCourseClassApp : list) {
String key = trainingCourseClassApp.getApplicantId();
if(map.containsKey(key)){
List list1 = map.get(key);
list1.add(trainingCourseClassApp);
map.put(key, list1);
}else{
List list2 = new ArrayList();
list2.add(trainingCourseClassApp);
map.put(key, list2);
}
}
public static Map conMap(List<TrainingCourseClassApp> oldList) {
List<TrainingCourseClassApp> ls = new ArrayList<TrainingCourseClassApp>();
Map<String, List<TrainingCourseClassApp>> map = new HashMap<String, List<TrainingCourseClassApp>>();
if(oldList == null && oldList.size() == 0) return null;
for (TrainingCourseClassApp trainingCourseClassApp : oldList) {
String key = trainingCourseClassApp.getApplicantId();
if (!map.containsKey(key)) {
ls.add(trainingCourseClassApp);
map.put(key, ls);
// 移除上次添加的对象。。避免每次new新的list
ls.remove(key);
}
} return map;
}