Java中常用的Commons和Guava工具库有哪些特点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计587个文字,预计阅读时间需要3分钟。
您好,我是王炸,这是我51CTO博客。值此新春佳节,我给您拜年啦!祝您在新的一年里,求所愿,行所愿,达所愿,福兔临门,财兔临门,多喜乐,常安宁!当然,Apache Commons 提供了丰富的功能。
您好,我是湘王,这是我的51CTO博客。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!
虽然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;}@Overridepublic String toString() {return name;}}
然后再基于Ordering<User>排序:
节日期间,您仍然可以随时咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~再次祝您兔年吉祥,万事胜意!
本文共计587个文字,预计阅读时间需要3分钟。
您好,我是王炸,这是我51CTO博客。值此新春佳节,我给您拜年啦!祝您在新的一年里,求所愿,行所愿,达所愿,福兔临门,财兔临门,多喜乐,常安宁!当然,Apache Commons 提供了丰富的功能。
您好,我是湘王,这是我的51CTO博客。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!
虽然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;}@Overridepublic String toString() {return name;}}
然后再基于Ordering<User>排序:
节日期间,您仍然可以随时咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~再次祝您兔年吉祥,万事胜意!

