共 47 篇文章
显示摘要每页显示  条
17.8.3 LinkedHashMap.17.8.3 LinkedHashMap为了提高速度,LinkedHashMap散列化所有的元素,但是在遍历键值对时,却又以元素的插入顺序返回键值对(System.out.println()会迭代遍历该映射,因此可以看到遍历的结果)。此外,可以在构造器中设定LinkedHashMap,使之采用基于访问的最近最少使用(LRU)算法,于是没有被访问过的(可被看作需要删...
17.8.2 SortedMap使用SortedMap(TreeMap是其现阶段的唯一实现),可以确保键处于排序状态。SortedMap subMap(fromKey, toKey)生成此Map的子集,范围由fromKey(包含)到toKey(不包含)的键确定。SortedMap headMap(toKey)生成此Map的子集,由键小于toKey的所有键值对组成。SortedMap tailMap(fromKey)生成此Map的子集,由键大于或等于fromKey...
17.8.1 性能。17.8.1 性能性能是映射表中的一个重要问题,当在get()中使用线性搜索时,执行速度会相当地慢,而这正是HashMap提高速度的地方。HashMap就是使用对象的hashCode()进行快速查询的,此方法能够显著提高性能。如果键被用于散列Map,那么它必须还具有恰当的hashCode()方法;(注意,键必须是唯一的,而值可以有重复。)由于这些Collect...
17.8 理解Map.17.8 理解Map 正如你在第11章中所学到的,映射表(也称为关联数组)的基本思想是它维护的是键-值(对)关联,因此你可以使用键来查找值。你可以获得对Map更深入的理解,这有助于观察关联数组是如何创建的。关联数组中的基本方法是put()和get(),但是为了容易显示,toString()方法被覆盖为可以打印键-值对。get()方法使用的可能是...
17.7.2 双向队列。17.7.2 双向队列双向队列(双端队列)就像是一个队列,但是你可以在任何一端添加或移除元素。在LinkedList中包含支持双向队列的方法,但是在Java标准类库中没有任何显式的用于双向队列的接口。因此,LinkedList无法去实现这样的接口,你也无法像在前面的示例中转型到Queue那样去向上转型到Deque。但是,你可以使用组合来创建...
17.7.1 优先级队列。17.7.1 优先级队列在第11章曾经给出过优先级队列的一个简单介绍。其中更有趣的问题是to-do列表,该列表中每个对象都包含一个字符串和一个主要的以及次要的优先级值。你可以看到各个项的排序是如何因为使用了优先级队列而得以自动发生的。用这个类的对象来填充PriorityQueue,然后使用poll()抽取这些值以展示该队列将按照我...
17.7 队列。17.7 队列除了并发应用,Queue在Java SE5中仅有的两个实现是LinkedList和PriorityQueue,它们的差异在于排序行为而不是性能。下面是涉及Queue实现的大部分操作的基本示例(并非所有的操作在本例中都能工作),包括基于并发的Queue。你可以将元素从队列的一端插入,并于另一端将它们抽取出来:你可以看到,除了优先级队列,Queue将精...
17.6 Set和存储顺序。从输出中可以看到,HashSet以某种神秘的顺序保存所有的元素(这将在本章稍后进行解释),LinkedHashSet按照元素插入的顺序保存元素,而TreeSet按照排序顺序维护元素(按照compareTo()的实现方式,这里维护的是降序)。17.6.1 SortedSetSortedSet中的元素可以保证处于排序状态,这使得它可以通过在SortedSet接口中的下列方...
17.5 List的功能方法17.5 List的功能方法 正如你所看到的,基本的List很容易使用:大多数时候只是调用add()添加对象,使用get()一次取出一个元素,以及调用iterator()获取用于该序列的Iterator。iterMotion()使用Iterator遍历元素;用普通的Iterator打印每个列表,然后用ListIterator按隔一个位置插入一个对象的方式把一个表插入到另一个表中。...
17.4.1 未获支持的操作最常见的未获支持的操作,都来源于背后由固定尺寸的数据结构支持的容器。注意,应该把Arrays.asList()的结果作为构造器的参数传递给任何Collection(或者使用addAll()方法,或Collections.addAll()静态方法),这样可以生成允许使用所有的方法的普通容器—这在main()中的第一个对test()的调用中得到了展示,这样的调用会...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部