將Restriction對象中的value屬性取出并逗號拼接
String str =?restrictionList.stream().map(Restriction::getValue).collect(Collectors.joining(","));
將Restriction對象中的id屬性逗號拼接后轉(zhuǎn)換為Strnig類型
String str = restrictionList.stream().map(Restriction::getId).collect(Collectors.toList()).stream().map(w->w.toString()).collect(Collectors.joining(","));
去重
// 根據(jù)name去重
List<Person> unique = persons.stream().collect(
? ? ? ? ? ? collectingAndThen(
? ? ? ? ? ? ? ? ? ? toCollection(() -> new TreeSet<>(comparing(Person::getName))), ArrayList::new)
);
// 根據(jù)name,sex兩個屬性去重
List<Person> unique = persons.stream().collect(
? ? ? ? ? ? collectingAndThen(
? ? ? ? ? ? ? ? ? ? toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getName() + ";" + o.getSex()))), ArrayList::new)
);
根據(jù)FullName和CancelTime篩選
List<BlacklistUser> buList = SystemInitVariable.blacklistUserList.stream().filter(bu ->
????bu.getUsername().equals(us.getFullName()) && bu.getCancelTime().after(currentTime)
).collect(Collectors.toList());
將字符串集合中的數(shù)據(jù)批量下劃線分隔
Set strs =new HashSet<>();
strs.add("a_a");
strs.add("b_b");
strs.add("c_c");
Set strsss = strs.stream().map(str -> str.substring(str.indexOf("_")+1)).collect(Collectors.toSet());