java 数组操作
去重
List<PolicySalaryVO> policySalaryVO = policySalaryDTOList
.stream()
.map(PolicySalaryVO::new)
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(PolicySalaryVO::getType))), ArrayList::new));
分组
Map<Integer, List<PolicySalaryVO>> policySalaryDTOList2 = policySalaryDTOList
.stream()
.map(PolicySalaryVO::new)
.collect(Collectors.groupingBy(PolicySalaryVO::getType));
insertMergeTaxMap = insertMergeTaxList.stream().collect(Collectors.groupingBy(item -> getTaxMapKey(item)));
private String getTaxMapKey(CreateTaxPayDetailMergeVO obj) {
return obj.getSalarySupplierId() + "_" + obj.getType() + "_" + obj.getTaxRule() + "_" + obj.getUserId();
}
重赋值
List<SupplierCmbapiConfigListVo> configs = config.stream().map(v->{
SupplierCmbapiConfigListVo vo = new SupplierCmbapiConfigListVo();
vo.setId(v.getId());
vo.setSupplierId(v.getSupplierId());
vo.setIsDefault(v.getIsDefault());
vo.setType(v.getType());
vo.setTypeName(SupplierCmbapiConfigEnum.matchEnum(v.getType()));
return vo;
}).collect(Collectors.toList());
打印数组
Arrays.asList(cmowers).stream().forEach(s -> System.out.println(s));
Stream.of(cmowers).forEach(System.out::println);
Arrays.stream(cmowers).forEach(System.out::println);
System.out.println(Arrays.toString(cmowers));
多维数组
System.out.println(Arrays.deepToString(deepArray));
反射打印类的属性和值
public static void printFields(Object obj) {
Class clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
String fieldName = field.getName();
Object fieldValue = null;
try {
fieldValue = field.get(obj);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
System.out.println(fieldName + ": " + fieldValue);
}
}
本文来自博客园,作者:给香菜送点香菜,转载请注明原文链接:https://www.cnblogs.com/mingkewang/p/17370169.html

浙公网安备 33010602011771号