正常情况下,我们声明一个List需要如下代码

List<String> list = new ArrayList<>();
list.add("AAA");
list.add("BBB");
list.add("CCC");

使用Google Guava提供的Lists类声明就方便很多,代码如下

package com.google.common.collect; //导入jar包
List<String> list = 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) { //获取用户集合
List<User> list = GetUserList(); //使用filter方法过滤条件是Age大于18的数据
Collection<User> result = Collections2.filter(list, x -> x.getAge() > ); for (User item : result) {
System.out.println(String.format("%s=%d", item.getName(), item.getAge()));
}
} //初始化用户列表
public static List<User> GetUserList() { User user1 = new User();
user1.setName("brazel");
user1.setAge(); User user2 = new User();
user2.setName("AAA");
user2.setAge(); User user3 = new User();
user3.setName("BBB");
user3.setAge(); User user4 = new User();
user4.setName("CCC");
user4.setAge(); List<User> 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

最新文章

  1. Dev TreeList 总结
  2. 使用apache ftpserver搭建ftp服务器
  3. linux系统用户以及用户组管理
  4. [转] 基于 Apache Mahout 构建社会化推荐引擎
  5. SQL Server数据库大型应用解决方案总结
  6. GTEST-ASSERT出错
  7. 一些浏览器HACKS
  8. The underlying provider failed on Open. EF
  9. ubuntu系统安装FTP
  10. UVALive 2520 Holedox Moving(BFS+状态压缩)
  11. idea无法正常使用SVN的解决方法
  12. postgis 中的距离计算
  13. 安装kvm模块配置网络
  14. bloc控制读写文件
  15. CentOS 部署 Python3 的一些注意事项
  16. python3解析库pyquery
  17. 10:Python2与Python3比较
  18. selenium + python自动化测试unittest框架学习(一)selenium原理及应用
  19. mysql左连接,右连接,内连接
  20. mkfs.ext4 磁盘分区

热门文章

  1. Session失效之 IE iframe cookie问题(p3p)
  2. 编写更好的jQuery代码的建议
  3. Twitter Bootstrap
  4. 解决iis7只能上传30M文件的限制
  5. Springmvc中@RequestParam传值中文乱码解决方案
  6. VS2015调试UWP程序时提示错误DEP0700 : Registration of the app failed. Another user has already installed
  7. Java数组与vector互转
  8. javascript中常用操作字符串的几种方法charAt()、indexOf()、slice()、substr()
  9. js获取倒计时
  10. Mac下git命令自动补全