Google Guava 实战之List篇
文章目录
- 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篇相关推荐
- Google Guava 实战之字符串处理篇
<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifac ...
- Google guava第一讲:guava缓存实战/使用场景/缓存清理/最佳实践/caffeine实战
Guava缓存实战及使用场景 摘要:本文是Google guava 第一件,本文先介绍了为什么使用Guava Cache缓存,然后讲解了使用方法及底层数据结构,结合实际业务,讲解使用guava过程中踩 ...
- 一篇让你熟练掌握Google Guava包(全网最全)
Google Guava guava开源库的地址:https://github.com/google/guava 概述 工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率 ...
- 【编程实践】Google Guava 极简教程
前言 Guava 工程包含了若干被 Google 的 Java 项目广泛依赖 的核心库,我们希望通过此文档为 Guava 中最流行和最强大的功能,提供更具可读性和解释性的说明. 适用人群 本教程是基础 ...
- 为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来自 | 张丰哲 链接 | www.jianshu.com ...
- 为什么推荐 Java 程序员使用 Google Guava 编程
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来自 | 张丰哲 链接 | www.jianshu.com/p/97778b21bd00 前言 ...
- Google Guava –与Monitor同步
Google Guava项目是每个Java开发人员都应该熟悉的库的集合. Guava库涵盖I / O,集合,字符串操作和并发性. 在这篇文章中,我将介绍Monitor类. Monitor是一种同步构造 ...
- Google Guava EventBus用于事件编程
在任何软件应用程序中都是如此,有些对象需要共享信息才能完成工作. 在Java应用程序中,实现信息共享的一种方法是拥有事件侦听器,其唯一目的是在发生所需事件时采取某些措施. 在大多数情况下,此过程有效, ...
- Google Guava EventBus和Java 7 WatchService用于事件编程
这篇文章将介绍如何使用Guava EventBus将更改发布到Java 7 WatchService检测到的目录或子目录中. Guava EventBus是向应用程序添加发布/订阅通信的好方法. Ja ...
最新文章
- 买卖股票的最佳时机 II
- NCBI-SRA数据下载
- ArrayMap java.lang.ArrayIndexOutOfBoundsException
- 字典和json 的区别 和转换
- 团队作业8——第二次项目冲刺(Beta阶段)博客汇总
- [Linux基础环境/软件]Linux下安装resin web服务器(涉及gcc、jdk环境部署)
- Shell openSomething - how is application component loaded in the runtime
- 前端学习(1797):前端调试之css伪元素
- 在struts2中push方法的使用_【干货】网版印刷中水墨使用注意事项及助剂使用方法...
- Git笔记(8) 远程仓库的使用
- 【Vue】—Vue脚手架创建项目时的 linter / formatter config配置选择
- Bailian2688 求字母的个数【输入流】
- Hudson安装配置文档
- 编程中、遇到问题、bug多思考
- C# sqlDataReader区别Dataset
- python 之selectors 实现文件上传下载
- 把oracle卸载恢复,oracle干净卸载
- Unity如何免费持续获取卫星云图、雷达云图等天气数据图片,制作动态天气应用
- 程序员、技术主管和架构师
- SAP系统里批次双计量单位的实现