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)