使用Guava提供的filter过滤集合
2024-10-16 17:05:33
正常情况下,我们声明一个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
最新文章
- Dev TreeList 总结
- 使用apache ftpserver搭建ftp服务器
- linux系统用户以及用户组管理
- [转] 基于 Apache Mahout 构建社会化推荐引擎
- SQL Server数据库大型应用解决方案总结
- GTEST-ASSERT出错
- 一些浏览器HACKS
- The underlying provider failed on Open. EF
- ubuntu系统安装FTP
- UVALive 2520 Holedox Moving(BFS+状态压缩)
- idea无法正常使用SVN的解决方法
- postgis 中的距离计算
- 安装kvm模块配置网络
- bloc控制读写文件
- CentOS 部署 Python3 的一些注意事项
- python3解析库pyquery
- 10:Python2与Python3比较
- selenium + python自动化测试unittest框架学习(一)selenium原理及应用
- mysql左连接,右连接,内连接
- mkfs.ext4 磁盘分区
热门文章
- Session失效之 IE iframe cookie问题(p3p)
- 编写更好的jQuery代码的建议
- Twitter Bootstrap
- 解决iis7只能上传30M文件的限制
- Springmvc中@RequestParam传值中文乱码解决方案
- VS2015调试UWP程序时提示错误DEP0700 : Registration of the app failed. Another user has already installed
- Java数组与vector互转
- javascript中常用操作字符串的几种方法charAt()、indexOf()、slice()、substr()
- js获取倒计时
- Mac下git命令自动补全