实体类
public class Chain {
private String upChainCd;
private String stage;
private String picHash;
public String getUpChainCd() {
return upChainCd;
}
public void setUpChainCd(String upChainCd) {
this.upChainCd = upChainCd;
}
public String getStage() {
return stage;
}
public void setStage(String stage) {
this.stage = stage;
}
public String getPicHash() {
return picHash;
}
public void setPicHash(String picHash) {
this.picHash = picHash;
}
public Chain(String upChainCd, String stage, String picHash) {
this.upChainCd = upChainCd;
this.stage = stage;
this.picHash = picHash;
}
@Override
public String toString() {
return "Chain [picHash=" + picHash + ", stage=" + stage + ", upChainCd=" + upChainCd + "]";
}
public Chain() {
}
}
聚合
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.Iterator;
import java.util.Set;
public class Demo {
public static void main(String[] args) {
Chain chain1 = new Chain("test01", "01", "MD5MD5MD5");
Chain chain2 = new Chain("test01", "12", "MD5MD5MD5");
Chain chain3 = new Chain("test01", "02", "MD5MD5MD5");
Chain chain4 = new Chain("test01", "03", "MD5MD5MD5");
Chain chain5 = new Chain("test01", "06", "MD5MD5MD5");
Chain chain6 = new Chain("test02", "01", "MD5MD5MD5");
Chain chain7 = new Chain("test02", "12", "MD5MD5MD5");
List<Chain> list = new ArrayList<Chain>();
list.add(chain1);
list.add(chain2);
list.add(chain3);
list.add(chain4);
list.add(chain5);
list.add(chain6);
list.add(chain7);
Map<String, List<Chain>> chainByUpChainCd = list.stream().collect(Collectors.groupingBy(Chain::getUpChainCd));
Set<String> keys = chainByUpChainCd.keySet();
Iterator<String> iter = keys.iterator();
while (iter.hasNext()) {
String str = iter.next();
List<Chain> listChain = chainByUpChainCd.get(str);
System.out.println("---------" + str + "---------");
for (Chain chain : listChain) {
System.out.println(chain);
}
}
}
}
结果
C:\Users\PiLiPaLa\Desktop\J_Code\steam>java Demo
---------test02---------
Chain [picHash=MD5MD5MD5, stage=01, upChainCd=test02]
Chain [picHash=MD5MD5MD5, stage=12, upChainCd=test02]
---------test01---------
Chain [picHash=MD5MD5MD5, stage=01, upChainCd=test01]
Chain [picHash=MD5MD5MD5, stage=12, upChainCd=test01]
Chain [picHash=MD5MD5MD5, stage=02, upChainCd=test01]
Chain [picHash=MD5MD5MD5, stage=03, upChainCd=test01]
Chain [picHash=MD5MD5MD5, stage=06, upChainCd=test01]