guava学习--集合2&Range】的更多相关文章

转载:http://www.cnblogs.com/peida/p/Guava_ImmutableCollections.html Table: 当我们需要多个索引的数据结构的时候,通常情况下,我们只能用这种丑陋的Map<FirstName, Map<LastName, Person>>来实现.为此Guava提供了一个新的集合类型-Table集合类型,来支持这种数据结构的使用场景.Table支持"row"和"column",而且提供多种视图.…
在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构.从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type).比如1到100之间的整型数据. 在数学里面的范围是有边界和无边界之分的:同样,在Guava中也有这个说法.如果这个范围是有边界的,那么这个范围又可以分为包括开集(不包括端点)和闭集(包括端点):如果是无解的可以用+∞表示.如果枚举的话,一共有九种范围表示: Guava…
Lists: 其内部使用了静态工厂方法代替构造器,提供了许多用于List子类构造和操作的静态方法,我们简单的依次进行说明,如下: newArrayList():构造一个可变的.空的ArrayList实例. newArrayList(E... elements):构造一个可变的包含传入元素elements的ArrayList实例. newArrayList(Iterable<? extends E> elements):构造一个可变的包含传入元素elements的ArrayList实例. new…
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁,让你工作更加轻松愉悦.下面是学习过程中的一些笔记和知识点的记录. 1.Guava学习笔记:Google Guava 类库简介 2…
Guava学习笔记目录 Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁,让你工作更加轻松愉悦.下面是学习过程中的一些笔记和知识点的记录. 1.Guava学习笔记:Google…
Immutable中文意思就是不可变.那为什么需要构建一个不可变的对象?原因有以下几点: 在并发程序中,使用Immutable既保证线程安全性,也大大增强了并发时的效率(跟并发锁方式相比).尤其当一个对象是值对象时,更应该考虑采用Immutable方式: 被不可信的类库使用时会很安全: 如果一个对象不需要支持修改操作(mutation),将会节省空间和时间的开销:经过分析,所有不可变的集合实现都比可变集合更加有效地利用内存: 可以当作一个常量来对待,并且这个对象在以后也不会被改变. 将一个对象复…
guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用 1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: Introduction Guava Collection API Guava Basic Utilities IO API Cache API 2,为神马选择瓜娃? 瓜娃是java API蛋糕上的冰激凌(精华) 高效设计良好的API. 被google的开发者设计,实现和使用. 遵循高效的java这本书的好的语法实践. 使代码更刻度,简洁,简单. 使用jav…
Splitter:在Guava官方的解释为:Extracts non-overlapping substrings from an input string, typically by recognizing appearances of a separator sequence. This separator can be specified as a single character, fixed string, regular expression or CharMatcher insta…
Iterators类提供了返回Iterator类型的对象或者对Iterator类型对象操作的方法.除了特别的说明,Iterators类中所有的方法都在Iterables类中有相应的基于Iterable方法对应. 性能说明:除非特别说明,所有在这个类中的迭代器都是懒惰的,这意味着在觉得必要的时候,需要提前得到迭代功能.Iterators类可以通过emptyIterator()方法得到一个空的并且不可改变的List迭代器(EMPTY_LIST_ITERATOR):如下: UnmodifiableLi…
guava 学习笔记 使用瓜娃(guava)的选择和预判断使代码变得简洁 1,本文翻译自 http://eclipsesource.com/blogs/2012/06/06/cleaner-code-with-guava-optionals-and-preconditions/,有说的不对的地方,欢迎斧正. 2,我开发软件的时候,朝着干净代码发展是我的特权,有一段时间,我曾在我几乎所有的项目中使用谷歌瓜娃(Google Guava),理由很简单,guava为我编写漂亮代码提供了很大的便利,今天,…