欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

标签:Google

Guava

Guava学习之RangeMap

Guava学习之RangeMap
  在《Guava学习之RangeSet》中谈到了RangeSet的特点及其用法。今天要谈的的RangeMap和RangeSet有许多不一样的。   在Google Guava官方API上面可以得知:RangeMap是一种集合类型( collection type),它将不相交、且不为空的Range(key)映射给一个值(Value)。和RangeSet不一样,RangeMap不可以将相邻的区间合并,即使这个区间映射的值是一样的。

w397090770   11年前 (2013-07-18) 6770℃ 0评论5喜欢

Guava

Guava学习之RangeSet

Guava学习之RangeSet
  前面谈到了Guava中新引入的Range类,也了解了其中的作用,那么今天来谈谈Guava中用到Range来的地方:RangeSet类。RangeSet类是用来存储一些不为空的也不相交的范围的数据结构。假如需要向RangeSet的对象中加入一个新的范围,那么任何相交的部分都会被合并起来,所有的空范围都会被忽略。   讲了这么多,我们该怎么样利用RangeS

w397090770   11年前 (2013-07-17) 7273℃ 1评论4喜欢

Guava

Guava学习之Range

Guava学习之Range
  在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构。从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。比如1到100之间的整型数据。不过我们无法遍历出这个区间里面的值。如果需要达到这个目的,我们可以将这个范围传给Conti

w397090770   11年前 (2013-07-15) 5234℃ 0评论4喜欢

Guava

Guava学习之Immutable集合

Guava学习之Immutable集合
  Immutable中文意思就是不可变。那为什么需要构建一个不可变的对象?原因有以下几点: 在并发程序中,使用Immutable既保证线程安全性,也大大增强了并发时的效率(跟并发锁方式相比)。尤其当一个对象是值对象时,更应该考虑采用Immutable方式; 被不可信的类库使用时会很安全; 如果一个对象不需要支持修改操作(mutation

w397090770   11年前 (2013-07-12) 8536℃ 1评论8喜欢

Guava

Guava学习之Multisets

Guava学习之Multisets
  今天谈谈Guava类库中的Multisets数据结构,虽然它不怎么经常用,但是还是有必要对它进行探讨。我们知道Java类库中的Set不能存放相同的元素,且里面的元素是无顺序的;而List是能存放相同的元素,而且是有顺序的。而今天要谈的Multisets是能存放相同的元素,但是元素之间的顺序是无序的。从这里也可以看出,Multisets肯定不是实

w397090770   11年前 (2013-07-11) 4642℃ 0评论1喜欢

Guava

Guava学习之BiMap

Guava学习之BiMap
  在前面的《Guava学习之Multimap》文章中我们谈到了Guava类库中的Multimap,其特点是存在在Multimap中的键值对可以不唯一;而我们又知道,在Java集合类库中有个Map,它的特点是存放的键(Key)是唯一的,而值(Value)可以不唯一,如果我们需要键(Key)和值(Value)都唯一,该怎么实现?这就是今天要谈的BiMap结构。   在过去,如

w397090770   11年前 (2013-07-10) 7114℃ 2评论2喜欢

Guava

Guava学习之Multimap

Guava学习之Multimap
  相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知道,Map中存储的Key是唯一的。什么意思呢?就是假如我们有两个key相同,但value不同的元素需要插入到map中去,那么先前的key对应的value将会被后来的值替换掉。如果我们需要用Map来把相同key的值存在一起,代

w397090770   11年前 (2013-07-09) 7845℃ 1评论1喜欢