文章目录

  • Google Guava 实战之List篇
    • 一、导入依赖
    • 二、List
      • Lists.cartesianProduct:返回俩个集合的n元笛卡尔积
      • Lists.reverse:返回指定列表的反向视图
      • Lists.partition:把List按指定大小分割
      • Lists.charactersOf(String string):返回指定字符串的视图作为不可变Character值列表
      • Lists.charactersOf(CharSequence sequence):返回指定字符串的视图作为不可变Character值列表

Google Guava 实战之List篇

一、导入依赖

        <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>27.0.1-jre</version></dependency>

二、List

Lists.cartesianProduct:返回俩个集合的n元笛卡尔积

  @Testpublic void test1(){List<User> users = new ArrayList<>();users.add(new User("a", 20));users.add(new User("b", 21));users.add(new User("c", 22));List<Integer> list = new ArrayList<>();list.add(1);list.add(2);/*** 1、cartesianProduct* Lists.cartesianProduct:通过从每个给定列表中依次选择一个元素,返回可以形成的所有可能列表;列表的“ n元笛卡尔积 ”。*/List<List<Object>> cartesianProduct = Lists.cartesianProduct(users, list);System.out.println("Lists.cartesianProduct:===============cartesianProduct:" + cartesianProduct);}@Data@AllArgsConstructor@NoArgsConstructorpublic static class User{private String userName;private Integer age;}

输出结果

Lists.cartesianProduct:===============cartesianProduct:[[ListTest.User(userName=a, age=20), 1], [ListTest.User(userName=a, age=20), 2], [ListTest.User(userName=b, age=21), 1], [ListTest.User(userName=b, age=21), 2], [ListTest.User(userName=c, age=22), 1], [ListTest.User(userName=c, age=22), 2]]

Lists.reverse:返回指定列表的反向视图

     @Testpublic void test1(){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);/***  2、reverse(List<T> list)* 返回指定列表的反向视图。*/List<Integer> reverse = Lists.reverse(list);System.out.println("Lists.reverse=============revers:" + reverse);}

输出结果

Lists.reverse=============revers:[2, 1]

Lists.partition:把List按指定大小分割

     @Testpublic void test1(){List<User> users = new ArrayList<>();users.add(new User("a", 20));users.add(new User("b", 21));users.add(new User("c", 22));/*** 3、partition(List, int)* 把List按指定大小分割*/List<List<User>> partition = Lists.partition(users, 2);System.out.println("Lists.partition:===========partition:" + partition);}

输出结果

Lists.partition:===========partition:[[ListTest.User(userName=a, age=20), ListTest.User(userName=b, age=21)], [ListTest.User(userName=c, age=22)]]

Lists.charactersOf(String string):返回指定字符串的视图作为不可变Character值列表

     @Testpublic void test1(){/*** 5、Lists.charactersOf(String string)* 返回指定字符串的视图作为不可变Character值列表。*/ImmutableList<Character> characters = Lists.charactersOf("张三在学guava");System.out.println("Lists.charactersOf(String string)=================="+characters);}

输出结果

Lists.charactersOf(String string)==================[张, 三, 在, 学, g, u, a, v, a]

Lists.charactersOf(CharSequence sequence):返回指定字符串的视图作为不可变Character值列表

     @Testpublic void test1(){/*** 6、Lists.charactersOf(CharSequence sequence)*返回指定CharSequence为的List<Character>视图sequence,以Unicode代码单元序列的形式查看 。*/List<Character> characters1 = Lists.charactersOf(new StringBuffer("张三在学guava"));System.out.println("Lists.charactersOf(CharSequence sequence)=================="+characters1);}

输出结果

Lists.charactersOf(CharSequence sequence)==================[张, 三, 在, 学, g, u, a, v, a]

Google Guava 实战之List篇相关推荐

  1. Google Guava 实战之字符串处理篇

    <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifac ...

  2. Google guava第一讲:guava缓存实战/使用场景/缓存清理/最佳实践/caffeine实战

    Guava缓存实战及使用场景 摘要:本文是Google guava 第一件,本文先介绍了为什么使用Guava Cache缓存,然后讲解了使用方法及底层数据结构,结合实际业务,讲解使用guava过程中踩 ...

  3. 一篇让你熟练掌握Google Guava包(全网最全)

    Google Guava guava开源库的地址:https://github.com/google/guava 概述 工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率 ...

  4. 【编程实践】Google Guava 极简教程

    前言 Guava 工程包含了若干被 Google 的 Java 项目广泛依赖 的核心库,我们希望通过此文档为 Guava 中最流行和最强大的功能,提供更具可读性和解释性的说明. 适用人群 本教程是基础 ...

  5. 为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来自 | 张丰哲 链接 | www.jianshu.com ...

  6. 为什么推荐 Java 程序员使用 Google Guava 编程

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来自 | 张丰哲 链接 | www.jianshu.com/p/97778b21bd00 前言 ...

  7. Google Guava –与Monitor同步

    Google Guava项目是每个Java开发人员都应该熟悉的库的集合. Guava库涵盖I / O,集合,字符串操作和并发性. 在这篇文章中,我将介绍Monitor类. Monitor是一种同步构造 ...

  8. Google Guava EventBus用于事件编程

    在任何软件应用程序中都是如此,有些对象需要共享信息才能完成工作. 在Java应用程序中,实现信息共享的一种方法是拥有事件侦听器,其唯一目的是在发生所需事件时采取某些措施. 在大多数情况下,此过程有效, ...

  9. Google Guava EventBus和Java 7 WatchService用于事件编程

    这篇文章将介绍如何使用Guava EventBus将更改发布到Java 7 WatchService检测到的目录或子目录中. Guava EventBus是向应用程序添加发布/订阅通信的好方法. Ja ...

最新文章

  1. 买卖股票的最佳时机 II
  2. NCBI-SRA数据下载
  3. ArrayMap java.lang.ArrayIndexOutOfBoundsException
  4. 字典和json 的区别 和转换
  5. 团队作业8——第二次项目冲刺(Beta阶段)博客汇总
  6. [Linux基础环境/软件]Linux下安装resin web服务器(涉及gcc、jdk环境部署)
  7. Shell openSomething - how is application component loaded in the runtime
  8. 前端学习(1797):前端调试之css伪元素
  9. 在struts2中push方法的使用_【干货】网版印刷中水墨使用注意事项及助剂使用方法...
  10. Git笔记(8) 远程仓库的使用
  11. 【Vue】—Vue脚手架创建项目时的 linter / formatter config配置选择
  12. Bailian2688 求字母的个数【输入流】
  13. Hudson安装配置文档
  14. 编程中、遇到问题、bug多思考
  15. C# sqlDataReader区别Dataset
  16. python 之selectors 实现文件上传下载
  17. 把oracle卸载恢复,oracle干净卸载
  18. Unity如何免费持续获取卫星云图、雷达云图等天气数据图片,制作动态天气应用
  19. 程序员、技术主管和架构师
  20. SAP系统里批次双计量单位的实现

热门文章

  1. 关于中台的深度思考和中台实战
  2. 阿里云服务器ECS的6大功能组件
  3. SQL工具导出CSV文件中文乱码
  4. 生命周期数据共享[父子-子父-兄弟]ref引用数组复习
  5. python_添加标签打标签
  6. 2016年山西医科大汾阳学院实验1,实验2
  7. uniapp h5 海报
  8. 解决小问题的记录:我戴尔笔记本电脑用键盘调不了亮度了(已解决)
  9. 眼底病php 是什么病,眼底病_眼底病有哪些_眼底病怎么治疗_快速问医生
  10. 2023年全国最新工会考试精选真题及答案41