关于网友提出的“ java List分组问题”问题疑问,本网通过在网上对“ java List分组问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: java List分组问题描述:
TMallGoods g = tmgSer.findAttachmentById(goods.getId());
for (TMallAttachment att : g.getAttachmentList()) {
// 排序字段做key
String key = String.valueOf(att.getSort());
/>
} else {
TMallAttachment attObj = new TMallAttachment();
attObj.setPath(att.getPath());
/>
attObj.setElementName(att.getElementName());
}
解决方案1:
写了个例子,不知道这个是不是你想要的
package com.test;import java.util.ArrayList; import java.util.Collections;
import java.util.Comparator;import java.util.List;
public class Test {public static void main(String args[]) throws Exception{
/> Listlist = new ArrayList ();
Module m1 = new Module(1);
Module m2 = new Module(1);
Module m3 = new Module(1);Module m4 = new Module(2); Module m5 = new Module(2);
/> Module m6 = new Module(3);list.add(m1); list.add(m2); list.add(m3);
list.add(m4);
list.add(m5);list.add(m6); Collections.sort(list, new ModuleComparator());
int count = 0;
Domain domain = null;Module lastM = null; List domains = new ArrayList (); for(int i = 0; i < list.size(); i++){
if(i == 0){
domain = new Domain();
domains.add(domain);
lastM = list.get(i);
if(count == 0){
domain.setModule1(list.get(i));
/> count++;
}
}else{Module thisM = list.get(i); if(lastM != null){ if(thisM.getId() == lastM.getId()){
if(count == 0){
domain = new Domain();
domains.add(domain);domain.setModule1(thisM); count++; }else if(count == 1){
domain.setModule2(thisM);
count++;}else{ domain.setModule3(thisM);