博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Guava提供的filter过滤集合
阅读量:6673 次
发布时间:2019-06-25

本文共 1935 字,大约阅读时间需要 6 分钟。

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

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

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

package com.google.common.collect; //导入jar包
List
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
list = 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/

你可能感兴趣的文章
手把手教你启用RemoteFX以及Hyper-V GPU卸载
查看>>
《交互式程序设计 第2版》一3.10 更进一步
查看>>
液晶拼接屏的专业术语有哪些
查看>>
微博悄然取消140字限制 面向全体用户
查看>>
OA系统软件怎么选型?
查看>>
英伟达发布Tesla P4&P40两款基于Pascal架构的深度学习芯片
查看>>
《Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术》——1.5 Web Worker...
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.10 UDP程序例子小结
查看>>
拯救 Firefox !
查看>>
《人工智能:计算Agent基础》——2.2 Agent系统
查看>>
Firefox 53 Beta 引入两个新 “Compact” 主题
查看>>
英特尔增强 Android 安全 提高自家芯片吸引力
查看>>
《腾讯iOS测试实践》一一1.2 工程效率
查看>>
《Photoshop Lightroom4 经典教程》—第1课1.1节了解Lightroom的工作方式
查看>>
《数据科学:R语言实现》——第2章 数据抽取、转换和加载
查看>>
《深入理解Spark:核心思想与源码分析》——3.7节创建和启动DAGScheduler
查看>>
《ANSYS Workbench有限元分析实例详解(静力学)》——2.5 Windows界面相应操作
查看>>
《R与Hadoop大数据分析实战》一1.7 Hadoop的子项目
查看>>
Google Web Designer 开始支持 Linux
查看>>
《电路分析导论(原书第12版)》一第3章 电阻
查看>>