- 浏览: 40681 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
lenomon:
可以看看这个demo, M2eclipse 设置 Mave ...
Maven学习笔记(二)——Eclipse插件安装(m2eclipse)
可导航的Map和集合 NavigableMap and NavigableSet Java集合框架(Java Collections Framework)加入了一个新的NavigableMap和NavigableSet接口。分别的扩展了SortedMap和SortedSet接口,本质上添加了搜索选项到接口。 NavigableMap接口 对于NavigableMap,有3个方法的集合。其中一个方法集合用于获取子Map,另一个集合用于获取Map Entity,最后一个用于设置Map键关联的工作。 在 第一个集合中存在3个方法。首先,navigableHeadMap(toKey)返回一个包含所有的键的NavigableMap,但是不包括 toKey,有一个返回带有所有键的NavigableMap的方法navigableTailMap(fromKey),从fromKey开始的,一直 到最后一个键的内容。最后,是一个naviagbleSubMap(fromKey,toKey)方法,返回一NavigableMap,从 fromKey开始,结束于toKey(这里是一个半开半闭区间[startKey,endKey))。感官上,这些方法与SortedMap的 headMap()、tailMap()和subMap()方法相同,但是返回不一样的类型,而不是上面提到的NavigableMap。 这里的第二个方法的集合是和Map的键有关的。对于SortedMap,你有firstKey()和lastKey()来获取某个Map的边界键值。NavigableMap有一些获取键的其他方法:
第三个方法的集合可能是最有用的。当需要使用到SortedMap或者Map实例的时候,一般来说,你将获得键和获得对应的值。最后的方法的集合一般都是返回Map。实体实例取代了键。因此,你不必要去进行第二次查找操作。所以,这里有6个方法来操控第二个集合:
这里有两个单步从Map获取和删除实体的方法。提供了一个简单的不用使用迭代器而遍历所有Map元素的方法。下面是具体的介绍:
另外还有两个值得起到的NavigableMap方法:descendingKeySet()和descendingEntrySet()。keySet()和entrySet()返回的是升序的键的集合,而新的NavigableMap方法是以降序进行工作的。 在Java 6中,这里有两个NavigableMap接口的实现。旧的TreeMap被从NavigableMap中继承而不是原来的SortedMap。另外,一 个该接口的并发的版本现在可以在ConcurrentSkipListMap类中找到。可能你并不熟悉skiplist,它们是一种排序过的链接,使用了 并行链表提高了搜索的速度。但TreeMap的结构是平衡的,并且粗略的从链表中寻找一个键,ConcurrentSkipListMap一直都是从最前 面开始,但是由于副skip list的作用,搜索的效果很接近于二分查找。 下面是一个具体例子,仅供参考: import java.util.NavigableMap; public static void main(String[] args) { 输出结果: First key: aaa First entry: aaa=111 NavigableSet接口 NavigableSet 工作类似于NavigableMap,但是没有键值对。在NavigableMap中的3组方法,这里有其中的两组。你可以可以获取一个可导航的子集,带 有navigableHeadSet(toElement), navigableSubSet(fromElement, toElement),和 navigableTailSet(E fromElement)方法。或者你可以获得特定的元素,通过ceiling(element), floor(element), higher(element), 和lower(element)方法。你也可以获取或删除元素,通过pollFirst()和pollLast()方法,升序的迭代 descendingIterator()补充了iterator()。 在表面之下,CouncurrentSkipListSet使用ConcurrentSkipListSet来完成所有的工作。
|
发表评论
-
系统研究Java--容器(二)--使用Abstract类
2011-02-23 14:34 0这个示例在于演示通过继承java.util.Abstract来 ... -
Maven学习笔记(一)——安装与配置
2011-12-24 17:48 11331. 准备工作 操作系统 ... -
Maven学习笔记(二)——Eclipse插件安装(m2eclipse)
2011-12-24 19:06 1575如何安装Eclipse插件 关于如何安装Ecli ... -
Maven学习笔记(三)——坐标和依赖
2011-12-27 12:58 972参考书籍Maven实战:可在InfoQ的Minibook出下载 ... -
`nonmutating' is not defined (Ice)
2012-02-20 14:40 862说明出处:http://download.zeroc.com/ ... -
Java中的所有异常
2011-02-14 13:33 650原文地址:http://www.knowsky.com/540 ... -
Java中为什么实现了Serializable接口就具备了被序列化的能力以及serialVersionUID的作用
2011-02-14 13:38 732Java 规定的内部机制,实现 Serializable 接口 ... -
系统研究Java--容器(一)
2011-02-14 15:12 811如上图:java完整容器的结构图 个人觉得j ... -
Java中的volatile关键字
2011-02-18 10:09 667我们知道,在Java中设 ... -
系统研究Java--数组(一)
2011-02-22 15:55 670数组不可越界,如果越界将会得到一个表示程序错误的Runtim ... -
Java反射经典实例 Java Reflection Cookbook (初级)
2011-02-23 13:09 383原文地址:http://www.blogjava.net/ji ... -
系统研究Java--容器(二)--使用Abstract类
2011-02-23 14:34 656这个示例在于演示通过继承java.util.Abstract来 ... -
系统研究Java--容器(三)--Collection
2011-02-23 15:36 625<!-- ========== METHOD SUMMA ... -
系统研究Java--容器(五)--部分容器的底层实现
2011-02-23 16:28 866List和存储顺序 从List接口展开的实现类有ArrayL ... -
系统研究Java--容器(四)--Map和Set
2011-02-23 17:59 655Map是Java容器的又一长老 ... -
系统研究Java--容器(六)--Collections工具类
2011-03-01 14:36 835<!-- ========== METHOD SUMMA ... -
系统研究Java--I/O(一)
2011-03-03 16:14 657先占个位置,来两个图 -
abstract class 与 interface 的区别
2011-03-07 11:43 730对于abstract class 和 interf ... -
Java几种常用关键字总结
2011-03-25 11:00 6961.abstract abstract关键字可以用来修 ... -
一个简单的验证码生成工具--servlet版本
2011-05-13 21:20 705需要用到servlet-api.jar package co ...
相关推荐
另外,引入了TreeMap和TreeSet的子类NavigableMap和NavigableSet,支持高效的区间查询和排序。 二、Stream API Java 8 引入了Stream API,这是一组用于处理集合的新工具,可以进行高效且易于理解的并行数据处理。...
Java 7中对集合框架进行了优化,例如,改进了HashMap的性能,添加了NavigableMap和NavigableSet接口,提供更强大的排序和查找功能。 3. **I/O流**:Java的I/O系统在7版本中得到了进一步完善,NIO.2(New I/O 2)...
- **定义**:这两个类分别实现了NavigableSet和NavigableMap接口。 - **特点**: - 在原有基础上增加了更多导航功能,提高了搜索效率。 #### 4. Collections 工具类中的新增方法 - **newSetFromMap(Map)** - ...
- **`NavigableMap`与`NavigableSet`**:提供有序遍历和范围操作的接口,便于在排序或区间操作时使用。 3. **I/O与NIO** - **NIO.2**:引入了New I/O 2,提供了文件系统操作的新API,如`java.nio.file`包,支持...
此外,`java.util`包中的一些经典集合框架,如`ArrayList`、`HashMap`和`HashSet`,在1.6版本中也有了新的特性,比如`TreeMap`和`TreeSet`引入了`NavigableMap`和`NavigableSet`接口,允许更灵活的排序和遍历操作。...
- Java 8 引入了新的集合接口,如 `NavigableMap` 和 `NavigableSet`,以及类型安全的队列 (`checkedQueue`)。 - 还有一些其他实用方法,如 `Collections.synchronizedXXX` 用于线程安全的集合操作,以及 `...
此外,NavigableSet和NavigableMap提供了更高级的导航操作。 5. 序列化:ObjectOutputStream和ObjectInputStream支持对象的序列化和反序列化,是持久化数据或在网络间传输对象的关键。 二、设计模式 1. 单例模式...
- `NavigableMap`和`NavigableSet`提供了排序和范围查询功能。 5. **文件系统API**: - 引入了`java.nio.file`包,提供了新的文件系统API,支持Path对象,更易于操作文件和目录。 6. **日期和时间API**: - `...
7. **Java集合框架中的重要类和方法**:包括但不限于Collection、Set、List、Map、Iterator、EnumSet、EnumMap、SortedSet、NavigableSet、SortedMap、NavigableMap以及它们的实现类。 在Java集合框架的发展史上,...
10. **集合框架的改进**:包括对Set、List和Map接口的实现类进行了性能优化,以及对NavigableSet和NavigableMap的新增,提供了有序和双向遍历的能力。 这些是JDK 5.0版本中的一些主要改进和新特性,对于Java初学者...
- `NavigableMap`和`NavigableSet`提供了更多的导航和排序功能。 5. **类型推断**(Type Inference for Generic Instance Creation): Java 7引入了钻石操作符`<>`,简化了匿名内部类和泛型实例化过程,编译器...
5. 集合框架增强:JavaSe7引入了新的集合接口和实现,如`Map.Entry`的`remove()`方法,以及`NavigableSet`和`NavigableMap`,提供了更强大的排序和遍历功能。 6. try-with-resources语句:这是一个新的异常处理结构...
JDK 1.5对`TreeSet`和`TreeMap`进行了改进,提供了`NavigableSet`和`NavigableMap`接口,以及`subSet`、`headSet`和`tailSet`等方法,方便对有序集合进行高效的操作。 ### 8. **内省增强(Introspection ...
博客文章可能还涵盖了如何自定义比较器以实现特定的排序逻辑,以及如何利用`NavigableSet`和`NavigableMap`的高级功能,如`higherKey()`, `lowerKey()`, `firstKey()`, `lastKey()`等,这些方法允许我们基于树的有序...
1. 集合框架的改进:Java 1.6对集合框架进行了优化,例如增加了`NavigableSet`和`NavigableMap`接口,它们提供了更高级别的排序和导航功能。 2. 枚举类型:在1.5版本引入后,1.6继续完善了枚举类型的使用,使得枚举...
- `java.util.NavigableSet`和`java.util.NavigableMap`:扩展了`TreeSet`和`TreeMap`,支持范围查询和导航操作。 5. **数据库中的树结构**: - SQL中的层次查询,如Oracle的CONNECT BY,MySQL的WITH RECURSIVE。...
5. **集合框架增强**:Java 7对集合框架进行了优化,如`ArrayList`和`HashMap`的性能提升,以及`NavigableSet`和`NavigableMap`的引入,这些集合提供了按特定顺序遍历和查找元素的能力。 6. **自动资源管理**:`try...
Map.Entry代表键值对,SortedMap接口提供了按键排序的Map,NavigableMap进一步提供了导航功能,便于查找最近的键值对。 5. **Set接口** Set接口代表不允许重复元素的集合,继承自Collection接口。Set接口没有顺序...
JDK 7引入了`java.util.NavigableMap`和`java.util.NavigableSet`接口,这些接口扩展了`SortedMap`和`SortedSet`,提供了更高级别的遍历和查找功能。此外,`java.util.ConcurrentSkipListMap`和`java.util....
9. **改进的集合框架**:包括`NavigableSet`和`NavigableMap`接口的增强,以及`Collections.sort()`和`Arrays.sort()`方法性能的提升。 10. **改进的反射API**:增加了对注解和类型参数的反射支持。 这个翻译文档...