简介

Guava 项目是 Google 公司开源的 Java 核心库,它主要是包含一些在 Java 开发中经常使用到的功能,如数据校验、不可变集合、计数集合,集合增强操作、I/O、缓存、字符串操作等。并且 Guava 广泛用于 Google 内部的 Java 项目中,也被其他公司广泛使用,甚至在新版 JDK 中直接引入了 Guava 中的优秀类库,所以质量毋庸置疑。

Lists

public static void main(String[] args) {//指定初始大小(数据多的话会自动扩容)ArrayList<String> list0 = Lists.newArrayListWithCapacity(4);System.out.println(list0);ArrayList<String> list1 = Lists.newArrayList(); //能够推断泛型for(int i = 0;i<4;i++){list1.add(UUID.randomUUID().toString().substring(4));}list1.forEach(System.out::println);//传入多个参数ArrayList<String> list2 = Lists.newArrayList("aa", "bb", "cc");list2.forEach(System.out::println);//传入数组ArrayList<String> list3 = Lists.newArrayList(new String[]{"aa", "bb", "cc"});list3.forEach(System.out::println);//传入集合ArrayList<String> list4 = Lists.newArrayList(list3);list4.forEach(System.out::println);
}

Sets

public static void main(String[] args) {Set<Integer> set1 = Sets.newHashSet(1, 2, 3);Set<Integer> set2 = Sets.newHashSet(3, 4, 5);System.out.println("并集:" + Sets.union(set1, set2));System.out.println("交集:" + Sets.intersection(set1, set2));System.out.println("差集(set1有set2没有):" + Sets.difference(set1, set2));System.out.println("并集-交集:" + Sets.symmetricDifference(set1, set2));System.out.println("笛卡尔积:" + Sets.cartesianProduct(set1, set2));System.out.println("全部子集:");Sets.powerSet(set1).forEach(System.out::println);
}

结果:

Maps


```javapublic static void main(String[] args) {HashMap<String,Integer> map1 = Maps.newHashMap();// 自动推断泛型for (int i = 0; i < 3; i++) {map1.put(UUID.randomUUID().toString().substring(4),i+1);}map1.forEach((k,v)-> System.out.println(k+" "+v));//传入Map构建MapHashMap<String, Integer> map2 = Maps.newHashMap(map1);map2.forEach((k,v)-> System.out.println(k+" "+v));//直接指定大小HashMap<String,Integer> map3 = Maps.newHashMapWithExpectedSize(2);map3.put("zhangsan",18);map3.put("lisi",22);map3.forEach((k,v)-> System.out.println(k+" "+v));//有序MapLinkedHashMap<String,Integer> map4 = Maps.newLinkedHashMap();map4.put("zhangsan",18);map4.put("lisi",22);map4.put("wanger",19);map4.forEach((k,v)-> System.out.println(k+" "+v));}
结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909161058294.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpYW5naGVjYWk1MjE3MTMxNA==,size_16,color_FFFFFF,t_70#pic_center)

Guava 操作 集合相关推荐

  1. java集合类的一些总结——Arrays.asList和Guava操作集合

    使用背景 总结一下最近项目中使用到集合的两个点,一个是Arrays.asList这个方法使用的坑,另一个是利用Guava的Sets工具类去求并交集. 使用总结 Arrays.asList的坑 先上结论 ...

  2. 1.8 Collections类操作集合详解——排序,查找,复制

    Collections类操作集合详解 Collections 类是 Java 提供的一个操作 Set.List 和 Map 等集合的工具类. Collections 类提供了许多操作集合的静态方法,借 ...

  3. python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  4. Collections类操作集合详解

    Collections 类是 Java 提供的一个操作 Set.List 和 Map 等集合的工具类.Collections 类提供了许多操作集合的静态方法,借助这些静态方法可以实现集合元素的排序.查 ...

  5. 操作集合的工具类Collections

    1       操作集合的工具类Collections Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操 ...

  6. java操作集合中 concurrentModifyException 异常的原因分析

    java操作集合中 concurrentModifyException 异常的原因分析 参考文章: (1)java操作集合中 concurrentModifyException 异常的原因分析 (2) ...

  7. mysql查询触发器_mysql查看所有触发器以及存储过程等操作集合【转】

    1. mysql查询所有表: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND  TAB ...

  8. Java8种Stream流相关操作——集合的筛选、归约、分组、聚合

    过滤.筛选   filter skip /*** 过滤 筛选*/@Testpublic void test2(){List<String> list = Arrays.asList(&qu ...

  9. 面向对象语言(JAVA)——工具类(Collections(操作集合)代码实现理解)

    工具类,顾名思义就是Java中工具的类. Collections 类是 Java提供的一个操作 Set.List 和 Map 等集 合的工具类.Collections 类提供了许多操作集合的静态方 法 ...

  10. predicate/Stream操作集合

    /*** 操作集合*/import java.util.Collection; import java.util.HashMap; import java.util.function.Predicat ...

最新文章

  1. python3 串行并列实际应用
  2. 计算机专业的学生该选择日后的人生道路?继续从事IT还是考公务员……
  3. 2.1.5编码与调制(1)
  4. 用python庆祝生日_奶茶妹妹章泽天欢度27岁生日,甜蜜微笑庆生,美到登热搜第一...
  5. 烂泥:LVM学习之LVM基础
  6. 部分添加epel源失败的可以试试直接把mirror站网址写到baseurl里
  7. Educoder Basemap和seaborn 第三关:Basemap
  8. paip.提升用户体验---上传文件图片命名
  9. 18个国外优质图片素材
  10. 深度精简版 Deepin XP Lite 完美精简版 5.2|5.3|5.4|5.5|5.6|5.7|5.8 迅雷下载
  11. 帝国PHP二次开发,帝国CMS二次开发有哪些注意事项
  12. 日程安排工具Calendso
  13. 做前端网页需要用网页框架吗
  14. 电影排行榜(requests + bs4 scrapy)
  15. 【Axure教程】拖动排序——扣款顺序
  16. 第十三课功能键之开根号——C#计算器编程教学
  17. 使用无界面方式登录人人网
  18. PS 图片编辑软件软件安装包下载地址及安装教程
  19. 【QT|趣谈】最详细的信号槽机制介绍!
  20. 等价无穷小的精度问题

热门文章

  1. golang后端php前端,意外的golang(2018新年后端框架简单对比)
  2. mysql 基础 打油诗
  3. MCtalk对话尚德机构:AI讲师,假套路还是真功夫?
  4. 增量式编码器和绝对式编码器,ABI信号和UVW信号、编码器PWM信号
  5. Python查询天数
  6. ESXI上检测磁盘状态
  7. Job for named.service failed because the control process exited with error code.
  8. 如何在线查询学历证书
  9. Android之传感器(三)方向传感器
  10. validity.valueMissing无论写不写文本都为false