Java stream 筛选集合中的唯一对象出来

位置:首页>文章>详情   分类: 教程分享 > Java教程   阅读(1617)   2024-04-17 12:33:20
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/article/1041.html

相关阅读

Java stream 筛选集合中的唯一对象出来演示数据模型@AllArgsConstructor @NoArgsConstructor @Data public class UserInfo ...
本文主要讲解通过使用 Stream.concat() 方法 去合并两个stream,新的stream由原来的两个stream所有元素组成(相同元素会覆盖)
简介本博文主要讲解在Java 8中 如何通过stream流的方式去重
取出属性为集合List&lt;String&gtl; stateNameList = dictEntityList.stream().map(DictEntity::getName).colle...
java 8 stream 多字段排序,本例子主要使用stream进行多个字段的排序,使用了 comparators和Comparator.thenComparing()方法。比较器之间返回一个...
java stream 按月(日期Date)分组统计首先是上一个简单的数据模型@Data @NoArgsConstructor @AllArgsConstructor public class ...
首先,数据结构。这只是一个简单的橄榄球运动员,有名字和评级。class RugbyPlayer { private String name; private Integer ra...
//声明一个List集合List&lt;Person&gtl; list = new ArrayList();           list.add(new Person("1001", "小A...
javastreamList根据对象某个属性升序或降序排序代码参考;publicclassMyTests{@NoArgsConstructor@AllArgsConstructor@Datapu...
jdk8新特性流的使用