Java stream 筛选集合中的唯一对象出来
编程教程
>
Java
(2561)
2024-11-26 14:39:04
Java stream 筛选集合中的唯一对象出来
演示数据模型
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UserInfo {
@NotNull(groups = {Update.class},message = "请填写id信息")
private Long id;
@NotEmpty(groups = {Add.class,Update.class},message = "请填写用户名称")
private String name;
}
演示示例
public class StreamTest {
static List<UserInfo> userInfoList=new ArrayList<>();
static {
userInfoList.add(new UserInfo(1L,"张三"));
userInfoList.add(new UserInfo(2L,"李四"));
userInfoList.add(new UserInfo(3L,"张五"));
}
public static void main(String[] args) {
//查找赛选结果的第一个,如果赛选结果不存在则返回null
UserInfo find1 = userInfoList.stream().filter(o -> Objects.equals(o.getId(), 1L)).findFirst().orElse(null);
System.out.println(find1);
UserInfo find2 = userInfoList.stream().filter(o -> o.getName().contains("张")).findFirst().orElse(null);
System.out.println(find2);
UserInfo find3 = userInfoList.stream().filter(o -> o.getName().contains("王")).findFirst().orElse(null);
System.out.println(find3);
}
}
运行结果:
UserInfo(id=1, name=张三)
UserInfo(id=1, name=张三)
null
所有操作均按需求实现了
http://blog.xqlee.com/article/1041.html