首页 > 编程语言 >Java两大工具库:Commons和Guava(3)

Java两大工具库:Commons和Guava(3)

时间:2023-01-30 21:23:55浏览次数:36  
标签:Java name age Commons 集合 Guava public String

您好,我是湘王,这是我的博客园。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!

 


 

 

虽然Apache Commons提供了专门的Commons-Collections来封装集合操作,但Google Guava更为强大,并且已经是事实上的集合操作扩展类了。这一点从mvnrepository.com上的引用数据(截止2023-01-27)就可以看出来:

guava                             33,492 usages

commons-collections4     3,905 usages

commons-collections       6,355 usages

当然,也可以混用commons-collections4和guava。

引入依赖:

<dependency>

    <groupId>com.google.guava</groupId>

    <artifactId>guava</artifactId>

    <version>30.0-jre</version>

</dependency>

Guava和Commons-Collections最大的不同应该是在创建集合这一块了:

 

 

 

 

Guava扩展了集合的「类型」,它可以这么做:

 

 

 

Guava也可以很方便地将集合转换成String:

 

 

 

 

 

Guava用于过滤集合元素,操作起来也不麻烦:

 

 

 

Map集合的交、并、差:

 

 

 

Set集合的交、并、差:

 

 

 

最后,Guava基于Comparator实现了排序器Ordering,它可以用来为构建复杂的比较器,以完成集合排序的功能。先创建用户实体类:

/**
 * 用户实体类
 *
 * @author 湘王
 */
public class User {
    private String name;
    private Integer age;

    public User() {
    }

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return name;
    }
}

 

然后再基于Ordering<User>排序:

 

 

 


 

 

节日期间,您仍然可以随时咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~再次祝您兔年吉祥,万事胜意!

标签:Java,name,age,Commons,集合,Guava,public,String
From: https://www.cnblogs.com/xiangwang1111/p/17077260.html

相关文章

  • JavaScript之this、let、const关键字
    各场景下的thisthis的意思:百度翻译为:这、这么、本在JavaScript中,表示当前对象的引用关键字,没有特殊含义。在一个方法中,this表示该方法所属的对象。如果单独使用,this表......
  • jd-gui mac 运行needs Java "1.8+" 问题
    说明此问题网上已经有不少解决方法了,主要是记录下,我运行出现问题的原因是因为升级了操作系统,同时调整sdkman默认java版本信息(以前调整java版本信息也是木有问题的)快速......
  • java_Web
    开始进入学习javaweb部分1.Socket技术(1)字节流传输使用bytes[]封装字节进行传输数据(2)文件传输(3)浏览器访问使用http协议进行访问2.MySQL数据库环境Phpsty......
  • javawebServlet
    javawebhttp响应服务器--响应--客户端Accept:告诉浏览器它所支持的数据类型Accept-Encoding:支持那种编码格式GBKUTF-8GB2312ISO8859-1Content-Type:text......
  • RxJava2.x的理解与总结
    RxJava2.x的理解与总结RxJava是一个基于观察者设计模式将链式编程和异步结合在一起的开源库。链式编程通过查看GitHub开源项目的简介开源知道,RxJava有几个基类。他们......
  • Java生成当日日期 时间
    Java生成当日日期时间生成当前日期时间//当前日期时间方法string类型publicstaticStringnewDateTime(){SimpleDateFormattempDate=newSimpleDateForma......
  • java部署 宝塔面板 linux安装宝塔面板
    linux安装宝塔面板linux命令yuminstall-ywget&&wget-Oinstall.shhttp://download.bt.cn/install/install_6.0.sh&&shinstall.sh中间遇到y选y安装完成后会给......
  • Java 实现发送短信业务
    五分钟解决Java发送短信业务短信业务使用的是阿里云的短信业务短信是0.045元每条,不过阿里云会送几十条短信来让我们去测试完成这个功能。首先打开阿里云官网​​阿里云......
  • java 实现查询近七天数据功能
    java实现查询近七天数据功能接上一篇如何使用echarts表图​​地址​​实现了页面的表图那么如何对接数据如何使用耐心看完!!!这次就以右下角这一个表图做示范这个表图的......
  • 基于Java+SpringBoot+vue+elementUI私人健身教练预约管理系统设计实现
    文章目录​​基于Java+SpringBoot+vue+elementUI私人健身教练预约管理系统设计实现​​​​一、前言介绍:​​​​二、系统设计:​​​​2.1性能需求分析​​​​2.2B/S架构......