JDK和Guava对应关系

Lists :

partition(List, int):按指定大小分割list, int为分割的大小
@Testpublic void testPartition() {ArrayList<Source> li = Lists.newArrayList();Source source1 = new Source();source1.setName("a");li.add(source1);Source source2 = new Source();source2.setName("c");li.add(source2);Source source3 = new Source();source3.setName("b");li.add(source3);List<List<Source>> partition = Lists.partition(li, 1);for (List<Source> list : partition) {System.out.println(list);//[Source{list=[], name='a'}]//[Source{list=[], name='c'}] //[Source{list=[], name='b'}]
}}

reverse(List):将list集合元素反转,不可变List用ImmutableList.reverse()。
注意: 并不是改变原list , 而是返回一个新的list ,需要定义变量接收
@Testpublic void testInts() {int[] arr = {1,2,3,45};List<Integer> integers = Ints.asList(arr);// [1, 2, 3, 45]
List<Integer> reverse = Lists.reverse(integers);System.out.println(integers);//[1, 2, 3, 45]System.out.println(reverse);//[45, 3, 2, 1]
}

Sets:
@Testpublic void testSets() {Set<String> set1 = Sets.newHashSet();set1.add("b");set1.add("c");Set<String> set2 = Sets.newHashSet();set2.add("a");set2.add("b");Sets.SetView<String> difference = Sets.difference(set1, set2);// 取左差集System.out.println(difference);//[c]
Sets.SetView<String> symmetricDifference = Sets.symmetricDifference(set1, set2);// 取两方差集System.out.println(symmetricDifference);//[c, a]
Sets.SetView<String> intersection = Sets.intersection(set1, set2);// 取交集System.out.println(intersection);//[b]
Sets.SetView<String> union = Sets.union(set1, set2);// 取并集System.out.println(union);//[b, c, a]// 过滤,结果集中只包含返回true的Set<String> filter = Sets.filter(set1, new Predicate<String>() {@Overridepublic boolean apply(String s) {return s.equals("b");}});System.out.println(filter);//[b]
    }
immutableEnumSet( E anElement, E... otherElements):返回一个包含给定枚举元素的不可变的Set实例。
immutableEnumSet( Iterable<E> elements):返回一个包含给定枚举元素的不可变的Set实例。
newEnumSet(Iterable<E> iterable,Class<E> elementType):返回一个包含给定元素的EnumSet实例,与EnumSet#copyOf(Collection)方法不同,当给定集合为 空的时候,不会产生异常,它可以转换任何实现了Iterable接口的类,不仅仅是Collection。它会先根据传入的元素类型创建一个空的 EnumSet,再把给定的元素添加到EnumSet返回。
newHashSet():返回一个可变的空的HashSet实例。
newHashSet(E... elements):返回一个可变买的HashSet包含给定的元素。
newHashSetWithExpectedSize(int expectedSize):构造一个期望长度为expectedSize的HashSet实例。
newHashSet(Iterable<? extends E> elements):返回一个可变的HashSet包含给定的元素,给定元素实现Iterable接口。
newHashSet(Iterator<? extends E> elements):返回一个可变的HashSet包含给定的元素,给定元素实现Iterator接口。
newConcurrentHashSet():创建一个线程安全的Set,由ConcurrentHashMap的实例支持,因此进行了相同的并发性担保,与HashSet不同的是,这个Set不允许null元素,该Set是可序列化的。
newConcurrentHashSet( Iterable<? extends E> elements):创建一个线程安全的Set,包含给定的元素,由ConcurrentHashMap的实例支持,因此进行了相同的并发性担保,与 HashSet不同的是,这个Set不允许null元素,该Set是可序列化的。
newLinkedHashSet():创建一个可变的、空的LinkedHashSet实例。
newLinkedHashSetWithExpectedSize( int expectedSize):构造一个期望长度为expectedSize的LinkedHashSet实例。
newLinkedHashSet( Iterable<? extends E> elements):构造一个包含给定元素的LinkedHashSet实例。
newTreeSet():返回一个可变的空的TreeSet实例。
newTreeSet( Iterable<? extends E> elements):返回一个可变的包含给定元素的TreeSet实例。
newTreeSet(Comparator<? super E> comparator):创建一个具有给定的比较器可变TreeSet的实例。
newIdentityHashSet():创建一个空的Set,使用特性来确定是否相等。
newCopyOnWriteArraySet():创建一个空的CopyOnWriteArraySet实例。
newCopyOnWriteArraySet( Iterable<? extends E> elements):创建一个包含给定元素的CopyOnWriteArraySet实例。
complementOf(Collection<E> collection):创建一个EnumSet包括不属于指定集合中的所有枚举值。
complementOf( Collection<E> collection, Class<E> type):创建一个EnumSet包括不属于指定集合中的所有枚举值。
newSetFromMap(Map<E, Boolean> map):返回一个由给定map支持的Set。
union( final Set<? extends E> set1, final Set<? extends E> set2):返回两个set集合的并集的不可修改SetView。(若A和B是集合,则A和B并集是有所有A的元素和所有B的元素,而没有其他元素的集 合)
intersection( final Set<E> set1, final Set<?> set2):返回两个set集合的交集的不可修改SetView。(两个集合A 和 集合B 的交集是指含有所有既属于 A 又属于 B 的元素,而没有其他元素的集合)
difference( final Set<E> set1, final Set<?> set2):返回两个set集合的差的不可修改SetView。(A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做A与B的差集)
symmetricDifference( Set<? extends E> set1, Set<? extends E> set2):返回两个set集合的对称差的不可修改SetView。(对称差,即两个集合的对称差是只属于其中一个集合,而不属于另一个集合的元素组成的 集合)
filter(Set<E> unfiltered, Predicate<? super E> predicate):返回传入Set集合unfiltered中满足给定Predicate的元素集合Set。
filter( SortedSet<E> unfiltered, Predicate<? super E> predicate):返回传入SortedSet集合unfiltered中满足给定Predicate的元素集合SortedSet。
filter( NavigableSet<E> unfiltered, Predicate<? super E> predicate):返回传入NavigableSet集合unfiltered中满足给定Predicate的元素集合NavigableSet。
cartesianProduct( List<? extends Set<? extends B>> sets):返回通过从各给定集中选择一个元素所形成每一个可能的集合。
cartesianProduct( Set<? extends B>... sets):返回通过从各给定集中选择一个元素所形成每一个可能的集合。
powerSet(Set<E> set):返回一个set,包含给定set的所有可能父级集合。
unmodifiableNavigableSet( NavigableSet<E> set):返回指定NavigableSet的不可修改视图。
synchronizedNavigableSet( NavigableSet<E> navigableSet):返回一个同步的(线程安全的)NavigableSet,由指定的NavigableSet支持。

转载于:https://www.cnblogs.com/jia-bei/p/8404685.html

guava-collections相关推荐

  1. Google Guava Collections 使用介绍

    原帖http://www.open-open.com/lib/view/open1325143343733.html 简介: Google Guava Collections 是一个对 Java Co ...

  2. Guava collections -- Table

    Guava全文介绍地址:Google Guava 这次主要介绍是的com.google.common.collect.Table.Table是包含相有序的一对key值,称为行键和一个列键,一个值的集合 ...

  3. Guava库学习:学习Collections(二)Lists

    2019独角兽企业重金招聘Python工程师标准>>> 链接地址:http://www.xx566.com/detail/138.html 上一篇学习Collections(一)Fl ...

  4. 学习Guava Cache知识汇总

    (一)MapMaker 在软件开发中,Cache缓存技术一直是非常重要的主题,不管我们正在进行任何简单的编程工作,我们总能在编程过程中找到一些缓存机制,即使是你使用一个 Map获取静态的值,它也是缓存 ...

  5. Guava学习笔记:Google Guava 类库简介

    Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libra ...

  6. com.google.guava maven依赖

    com.google.guava/guava 共有41个版本,总共被引用了20095次 被引用次数最多的版本是14.0.1 ,其被引用次数为3919 ,查看引用次数柱状图 . Guava is a s ...

  7. Guava API 的使用笔记

    汪文君Guava视频教程 练习源码 google-guava 文章目录 Guava Utilities Joiner Splitter Preconditions Others Guava Funct ...

  8. 【Java技术专题】「Guava技术系列」Guava-Collections实战使用相关Guava不一般的集合框架

    Google Guava Collections 使用介绍 简介 Google Guava Collections 是一个对 Java Collections Framework 增强和扩展的一个开源 ...

  9. 吐血整理的Google Guava

    一.概述   Guava 是由Google开发的基于Java的开源库,包含许多Google核心库,它有助于最佳编码实践,并有助于减少编码错误.它为集合 [collections] .缓存 [cachi ...

  10. Guava(瓜娃)使用笔记

    文章目录 前言 1.基本工具(Basic utilities) 1.1,使用和避免null(Optional) 1.2,前提条件(Preconditions) 1.3,常见的对象方法(Objects) ...

最新文章

  1. GIL+死锁与递归锁+信号量+event事件
  2. linux 统一设备模型 pci,Linux设备驱动模型摘抄
  3. OpenResty 通过二级域名做跳转
  4. sklearn数据集操作API
  5. 08.suggester02term_suggester
  6. Windows下Mysql 的安装和卸载
  7. 将可见的电子签名添加到PDF
  8. 软件安全测试报告模板_软件测试工程师经典面试题
  9. ECCV18|这篇论文开源的车牌识别系统打败了目前最先进的商业软件(附Github地址)...
  10. Python可视化数据------seaborn
  11. STM32工作笔记0077---UCOSIII中使用串口发送数据要注意的点
  12. 《PHP和MySQL Web开发从新手到高手(第5版)》一一1.7 万事俱备,摩拳擦掌
  13. html中optition默认类型,射频微电子学概论.PDF
  14. 可控硅型号怎样识别_可控硅型号分类
  15. 发那科机器人xyz的方向_最全 | 发那科工业机器人示教器详细介绍
  16. html扑克牌展开,HTML5 canvas扑克牌花式洗牌动画
  17. 10个最新手机美食APP界面设计欣赏
  18. 致我们失去但美好回忆的青春
  19. android点击展开全文,Android显示全文折叠控件使用方法详解
  20. 转:微信、米聊用户数量猛增 短信业务受冲击

热门文章

  1. Linux 内核将要支持最新龙芯 3A2000/3B2000
  2. sshd修改端口后几次启动失败
  3. Dos批处理中符号作用大全
  4. 月均活跃用户达1.3亿,B站高可用架构实践
  5. Spring Boot 2动态修改日志级别
  6. 没有读过的书,就不要瞎推荐了!
  7. 浅谈高性能数据库集群 —— 读写分离
  8. 数据库:数据库的连接池原理及实现
  9. 多线程:保证三个线程依次按顺序执行?newSingleThreadExecutor!!!
  10. Java 洛谷 P1008 三连击