首先,我们这里有一个对象
@Data public class Pcr { private String target; //组 private String sample; private Double cq; private Double avgCq; private Double cqStdDev; }
然后在一个方法中对这个对象的组进行分组排序得到一个LinkedHashMap
public void prcListHandle1(List<Pcr> list){ Map<String, List<Pcr>> targets = list.stream() .collect(Collectors.groupingBy(Pcr::getTarget,LinkedHashMap::new,Collectors.toList())); List<Pcr> list1 = targets.get("Actin"); //获取内参平均值 Double avgPcrCq = avgPcrCq(list1); for (Map.Entry<String, List<Pcr>> entry : targets.entrySet()) { List<Pcr> value = entry.getValue(); String key = entry.getKey(); } }
如果不需要map的顺序可以不需要groupingBy后面的两个参数