Guava 是 Google 开源的一个 Java 工具库,里面有很多工具类,本文要讲的是里面的Lists工具类。

注意,使用Guava工具类库,必须先添加依赖

一、引入依赖

<dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>30.0-jre</version>
        </dependency>

二、使用

使用HashSet集合去重,如果后面add进来的出现了重复,则不会添加进来。

不使用该工具类时的代码:

public class Demo01 {
    public static void main(String[] args) {
        Role role1 = new Role(1, "开发", "aa");
        Role role2 = new Role(2, "测试", "bb");
        Role role3 = new Role(3, "运维", "cc");
        Role role4 = new Role(4, "开发", "aa");
        List<Role> roles = new ArrayList<>();
        roles.add(role1);
        roles.add(role2);
        roles.add(role3);
        roles.add(role4);

        List<Role> roles1 = new ArrayList<>();
        Set<String> set = new HashSet<>();
        roles.stream().forEach(item ->{
            if (set.add(item.getRoleName())) {
                roles1.add(item);
            }
        });
        roles1.stream().forEach(System.out::println);
    }
}

使用该工具类时的代码:

public class Demo01 {
    public static void main(String[] args) {
        Role role1 = new Role(1, "开发", "aa");
        Role role2 = new Role(2, "测试", "bb");
        Role role3 = new Role(3, "运维", "cc");
        Role role4 = new Role(4, "开发", "aa");
        List<Role> roles = Lists.newArrayList(role1,role2,role3,role4);
        List<Role> roles1 = new ArrayList<>();
        Set<String> set = new HashSet<>();
        roles.stream().forEach(item ->{
            if (set.add(item.getRoleName())) {
                roles1.add(item);
            }
        });
        roles1.stream().forEach(System.out::println);
    }
}

结果如下:

Role(roleId=1, roleName=开发, remark=aa)
Role(roleId=2, roleName=测试, remark=bb)
Role(roleId=3, roleName=运维, remark=cc)

 

posted on 2022-02-20 15:08  周文豪  阅读(402)  评论(0编辑  收藏  举报