本文共 1935 字,大约阅读时间需要 6 分钟。
正常情况下,我们声明一个List需要如下代码
Listlist = new ArrayList<>();list.add("AAA");list.add("BBB");list.add("CCC");
使用Google Guava提供的Lists类声明就方便很多,代码如下
package com.google.common.collect; //导入jar包
Listlist = Lists.newArrayList("AAA", "BBB", "CCC");
在实际开发中,我们经常遇到需要处理集合中对象的情况,比如返回一个集合中User类的Age大于18的用户列表
package com.rrq.guava;import com.google.common.collect.Collections2;import com.google.common.collect.Lists;import java.util.Collection;import java.util.List;public class Demo02 { public static void main(String[] args) { //获取用户集合 Listlist = GetUserList(); //使用filter方法过滤条件是Age大于18的数据 Collection result = Collections2.filter(list, x -> x.getAge() > 18); for (User item : result) { System.out.println(String.format("%s=%d", item.getName(), item.getAge())); } } //初始化用户列表 public static List GetUserList() { User user1 = new User(); user1.setName("brazel"); user1.setAge(18); User user2 = new User(); user2.setName("AAA"); user2.setAge(11); User user3 = new User(); user3.setName("BBB"); user3.setAge(20); User user4 = new User(); user4.setName("CCC"); user4.setAge(22); List list = Lists.newArrayList(); list.add(user1); list.add(user2); list.add(user3); list.add(user4); return list; }}class User { private String Name; private int Age; /*** * 获取用户名 * * @return */ public String getName() { return Name; } /*** * 设置用户名 * * @return */ public void setName(String name) { Name = name; } /*** * 获取年龄 ****/ public int getAge() { return Age; } /** * 设置年龄 **/ public void setAge(int age) { Age = age; }}
输出结果:
BBB=20
CCC=22
转载地址:http://ifmxo.baihongyu.com/