为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Java

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


虽然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最大的不同应该是在创建集合这一块了:

https://img1.sycdn.imooc.com//63d7c3af0001db8608320329.jpg

 

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

https://img1.sycdn.imooc.com//63d7c3b5000135f508140617.jpg

 

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

https://img1.sycdn.imooc.com//63d7c3ba00019e3908660630.jpg


https://img1.sycdn.imooc.com//63d7c3c00001a95d08350625.jpg

 

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

https://img1.sycdn.imooc.com//63d7c3c50001d10a08120628.jpg

 

Map集合的交、并、差:

https://img1.sycdn.imooc.com//63d7c3ca00012ac009460611.jpg

 

Set集合的交、并、差:

https://img1.sycdn.imooc.com//63d7c3d00001e7da06960621.jpg


最后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>排序

https://img1.sycdn.imooc.com//63d7c3d50001679507880630.jpg

 


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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消