Javalambdalist,map,转换,过滤,去重操作
1、实体类
package ity;
public class Person {
private Long id;
private String code;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
private String name;
private String gender;
private Integer age;
}
2、Java lambda list转换map,以多个属性作为key值
package st;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class TestLaambdaMap {
public static void main(String[] args) {
List<Person> personList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Person person = new Person();
person.setId((long) i);
person.setName("张三" + i);
person.setSex("男");
person.setAge(18);
go语言字符串转数组personList.add(person);
}
Map<String, Person> collect = personList.stream().Map(person -> Id() + Name(), person -> person));
System.out.println(collect);
}
}
3、list集合本⾝以某个属性作为⽬标去重
List<Person>  collect = personList.stream().Collection(() -> new TreeSet<>(Comparatorparing(Person::getName))), ArrayList::new));
4、两个list⽐对,取出交集
List<PersonCommon> commonList= Person1.stream().filter(item -> Name.Name())).List());
5、两个list⽐对,取出差集
List<PersonCommon> commonList= Person1.stream().filter(item -> !Name.Name())).List());
6、获取list集合中单个属性作为⼀个集合
List<String> courseIds=  users.stream().map(UserEntity::getUserName).List());
7、获取list集合中多个属性组成⼀个新的list集合(效率⽐较差)
List<A> collect = personList.stream().map(Person -> new Id(), Name())).List());
使⽤lombok的@Builder注解
List<AppNameAddrDTO> collect = applicationList.stream().map(item -> AppNameAddrDTO.builder()
.
AppName())
.AppAddress()).build()).List());

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。