![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码阅读
牧童遥指杏花村丫
这个作者很懒,什么都没留下…
展开
-
Guava源码阅读——primitives包.Ints类
看完Primitives包中的Ints类之后,我对其中的方法做出了整理...有写的不好的地方请多多指教 方法 功能 传参类型 返回类型 实现方法 复杂度 hashcode 返回int型的hash值(直接用溢出当作hash) int int...原创 2019-04-07 16:43:36 · 257 阅读 · 0 评论 -
Guava源码阅读——base包.Joiner类
Joiner类的基本功能:将字符串数组按指定分隔符连接起来,或字符串串按指定索引开始使用指定分隔符连接起来,通过Join类,我们可以方便实现将容器中的数据按照自定义的方式拼接成一个字符串,而且这是一种线程安全的方式。变量://分隔符构造方法:这两个构造函数都是静态构造器,所以不能直接使用这两个构造器去创建Joiner,所以想要创建Joiner只能使用静态方法。可接收字符串和...原创 2019-04-07 17:27:07 · 317 阅读 · 0 评论 -
Guava源码阅读——base包.Splitter类 转至元数据结尾
Strategy模式:策略模式这个定义了一系列的算法,并将每个算法封装起来,使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户,在Splitter中就主要使用了这种模式。1、首先看一个内部类这个类才是真正去处理字符、字符串、正则表达式的接口,这个接口的定义其实就是策略模式。此接口中只有一个方法,返回的是一个Iterator迭代器,这里我们可以先联想到最终返回...原创 2019-04-07 17:25:22 · 327 阅读 · 0 评论 -
Guava源码阅读——base包.Stopwatch类
Stopwatch是什么 Stopwatch 解释为计时器,又称秒表、停表,很明显它是记录时间的。 成员变量 构造函数 isRunning方法:如果start方法被调用但是stop方法还没有调用,就返回真。start方法:启动stopwatch。stop方法:停止stopwatch,...原创 2019-04-07 17:18:59 · 492 阅读 · 0 评论 -
Guava源码阅读——base包.Strings类
方法 功能 传参类型 返回类型 实现方法 复杂度 nullToEmpty 将null转换为"" String String O(1) emptyToNull 与上个方法相反 String String ...原创 2019-04-07 17:17:59 · 404 阅读 · 0 评论 -
Guava源码阅读——Collect包.ComparisonChain类
ComparisonChain 使用有一个产品的list,想对这个list先按产品生效时间排序,如果生效时间一样再按失效时间排序,代码如下:package collection; import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util...原创 2019-04-07 17:17:05 · 465 阅读 · 0 评论 -
Guava源码阅读——Collect包.Lists类
功能函数 创建ArrayList方法 newArrayList() newArrayList(E... elements) newArrayList(Iterable<? extends E> elements) newArrayList(Iterator<? extends E> elements) newA...原创 2019-04-07 17:12:43 · 869 阅读 · 0 评论 -
Guava源码阅读——Collect包.Multimap类
Multimap相对于传统的Map区别在于,Multimap是一对多的一个数据结构,对于Multimap的解析用HashMultimap进行解析,看一下HashMultimap的类结构图:HashMultimap构造器因为他的构造方法是私有的,所有他会拥有静态方法构造器:public static <K, V> HashMultimap<K, V> ...原创 2019-04-07 16:53:28 · 339 阅读 · 0 评论 -
Guava源码阅读——Collect包.Ordering类
API 实例化直接获得 natural() 自然序 usingToString() 字典序 指定 from(Comparator) 包装Comparator explicit(List)explicit(least, ... others) 指明这几个东西的顺序,只排它们 直接继承 其他 allEqual() 全相...原创 2019-04-07 16:49:11 · 228 阅读 · 0 评论 -
Guava源码阅读——Collect包.Sets类
union类实现传入:set1, set2传出:内部实现的 setView 其继承了 AbstractSetpublic static <E> SetView<E> union(final Set<? extends E> set1, final Set<? extends E> set2) { checkNotNull(set...原创 2019-04-07 16:46:52 · 343 阅读 · 0 评论 -
Guava源码阅读——Collect包.AbstractMapBasedMultimap类
AbstractMapBasedMultimap是Multimap接口的基础实现类,实现了Multimap中的绝大部分方法,其中有许多的方法还是靠实现类的具体实现,比如size()方法,其计算方法在不同实现是不一样的。同时,AbstractMapBasedMultimap类也定义了自己的一些方法,比如createCollection()。AbstractMapBasedMultimap类中主要存在...原创 2019-04-08 15:25:11 · 462 阅读 · 0 评论