您的位置: 域名 - 建站教程
« 上一篇下一篇 »

Map的功能

分类: 建站教程 发布: zhushican 浏览: 日期: 2014-08-14

ArrayList能让你用数字在一个对象序列里面进行选择,所以从某种意义上讲,它是将数字和对象关联起来。但是,如果你想根据其它条件在一个对象序列里面进行选择的话,那又该怎么做呢?栈就是一个例子,它的标准是选取最后一个被压入栈的对象。我们常用的术语map,就是一种非常强大的,能在序列里面进行挑选的工具。从概念上讲,它看上去像是一个ArrayList,但它不用数字,而是用另一个对象来查找对象,这是一个至关重要的编程技巧。

这一概念在Java中表现为map,put方法会往map里面加一个值,并且把这个值同键联系起来。给出键之后,get就会返回与之向关联的值。Java标准类库里有好几种map,它们都实现了map的基本接口,但是在行为方式方面有着明显的差异。这些差异体现在效率上,持有和表示对象pair的顺序,持有对象的时间长短,以及如何决定键的相等性。

性能是map所要面对的一个大问题。如果你知道get是怎么工作的,你就会发觉在ArrayList里面找对象会是相当慢的。而这正是HashMap的强项。它不是慢慢地一个一个地找这个键,而是用了一种被称为hash code的特殊值来进行查找的。散列是一种算法,它会从目标对象当中提取一些信息,然后生成一个表示这个对象的相对独特的int。

相关文章:

  • 评论:(0)
发表评论

Powered By qqq114.cn

Copyright 【10000个好做seo优化的域名】. Some Rights Reserved.