前言
分析完
ImmutableSet后,接着分析ImmutableList,从字面上可知其是不可变的列表,可根据索引获取对应项,由于其在创建后不可变,底层可以使用数组来存储,这样会访问效率。
分析完
ImmutableSet后,接着分析ImmutableList,从字面上可知其是不可变的列表,可根据索引获取对应项,由于其在创建后不可变,底层可以使用数组来存储,这样会访问效率。
在开发
Java Web时,需要使用Spring的知识,可以说没有Spring,很难出现这么便捷的Web开发技术,现在工作内容虽然编写的很多都是业务层代码,但也需要适时从业务层抽离出来,系统学习Spring框架知识。
介绍完
ImmutableCollection后,接着看看ImmutableSet,其表示不可变哈希集合,即创建后无法对集合再进行修改操作,并且ImmutableSet会使用一个数组(可变参数数组)维护插入顺序,即当遍历时会按照插入顺序输出。
经过前面几个基础点的学习,接着分析
Guava中的核心,不可变集合,所有不变集合的父类为ImmutableCollection,其子类包括EntryCollection、ImmutableSet、ImmutableList、ImmutableMultiSet、ImmutableMapValues等,现分析其源码。
在原生
Java中,当对不同的类进行比较时,需要让类实现Comparable接口或者Comparator接口,其特别是在基于Hash实现的散列表中非常重要。而Guava实现了Ordering类,可以供开发者更方便地比较不同对象。
Java中的Object提供了很多方法供所有的类使用,特别是toString、hashCode、equals、getClass等方法,在日常开发中作用很大,Guava中包含Objects类,其提供了很多更为强大的方法。
如何学习源码,直接看
JDK,多学习其他小而精巧的开源项目,绝对有益,而Guava项目则可直接满足需求,小而精,有了阅读JDK源码的经验,相信Guava的品读过程也会比较愉快,尽可能每天分析一个类。