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
所有操作均按需求实现了
版权申明:本文为博主原创文章,未经博主允许不得转载。
https://www.leftso.com/blog/1041.html
时效提示:本文最后更新于【 2022-05-10 09:28:50 】,某些文章具有时效性,若有错误或已失效,请在下方留言。
时效提示:本文最后更新于【 2022-05-10 09:28:50 】,某些文章具有时效性,若有错误或已失效,请在下方留言。