- 浏览: 578318 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
TreeMap类不仅实现了Map接口,还实现了Map接口的子接口java.util.SortedMap。由TreeMap类实现的Map集合,不允许键对象为null,因为集合中的映射关系是根据键对象按照一定顺序排列的,TreeMap类通
使用TreeMap类
TreeMap类不仅实现了Map接口,还实现了Map接口的子接口java.util.SortedMap。由TreeMap类实现的Map集合,不允许键对象为null,因为集合中的映射关系是根据键对象按照一定顺序排列的,TreeMap类通过实现SortedMap接口得到的方法如表1所示。
表1 TreeMap类通过实现java.util.SortedMap接口得到的方法
在添加、删除和定位映射关系上,TreeMap类要比HashMap类的性能差一些,但是其中的映射关系具有一定的顺序,如果不需要一个有序的集合,则建议使用HashMap类;如果需要进行有序的遍历输出,则建议使用TreeMap类,在这种情况下,可以先使用由HashMap类实现的Map集合,在需要顺序输出时,再利用现有的HashMap类的实例,创建一个具有完全相同映射关系的TreeMap类型的实例,例如下面的例子。
下面的代码首先利用HashMap类实现一个Map集合,初始化并遍历;然后再利用TreeMap类实现一个Map集合,初始化并遍历,默认按键对象升序排列;最后再利用TreeMap类实现一个Map集合,初始化为按键对象降序排列,实现方式为将Collections.reverseOrder()作为构造函数TreeMap(Comparator c)的入口参数,即与默认排序方式相反,关键代码如下:
src\com\mwq\TestCollection.java关键代码:
public static void main(String[] args) {
Person person1 = new Person("马先生", 220181);
Person person2 = new Person("李先生", 220193);
Person person3 = new Person("王小姐", 220186);
Map<Number, Person> map = new HashMap<Number, Person>();
……// 由于篇幅有限,此处省略了向集合中添加映射关系的代码
System.out.println("由HashMap类实现的Map集合,无序:");
for (Iterator<Number> it = map.keySet().iterator(); it.hasNext();) {// 遍历集合
Person person = map.get(it.next());
System.out.println(person.getId_card() + " " + person.getName());
}
System.out.println("由TreeMap类实现的Map集合,键对象升序:");
TreeMap<Number, Person> treeMap = new TreeMap<Number, Person>();
treeMap.putAll(map);
……// 由于篇幅有限,此处省略了遍历集合的代码
System.out.println("由TreeMap类实现的Map集合,键对象降序:");
TreeMap<Number, Person> treeMap2 = new TreeMap<Number, Person>(
Collections.reverseOrder());// 初始化为反转排序
treeMap2.putAll(map);
……// 由于篇幅有限,此处省略了遍历集合的代码
}
src\com\mwq\TestCollection.java完整代码:
package com.mwq;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class TestCollection {
public static void main(String[] args) {
System.out.println("开始:");
Person person1 = new Person("马先生", 220181);
Person person2 = new Person("李先生", 220193);
Person person3 = new Person("王小姐", 220186);
Map<Number, Person> map = new HashMap<Number, Person>();
map.put(person1.getId_card(), person1);
map.put(person2.getId_card(), person2);
map.put(person3.getId_card(), person3);
System.out.println("由HashMap类实现的Map集合,无序:");
for (Iterator<Number> it = map.keySet().iterator(); it.hasNext();) {// 遍例集合
Person person = map.get(it.next());
System.out.println(person.getId_card() + " " + person.getName());
}
System.out.println("由TreeMap类实现的Map集合,键对象升序:");
TreeMap<Number, Person> treeMap = new TreeMap<Number, Person>();
treeMap.putAll(map);
for (Iterator<Number> it = treeMap.keySet().iterator(); it.hasNext();) {// 遍例集合
Person person = treeMap.get(it.next());
System.out.println(person.getId_card() + " " + person.getName());
}
System.out.println("由TreeMap类实现的Map集合,键对象降序:");
TreeMap<Number, Person> treeMap2 = new TreeMap<Number, Person>(
Collections.reverseOrder());// 初始化为反转排序
treeMap2.putAll(map);
for (Iterator it = treeMap2.keySet().iterator(); it.hasNext();) {// 遍例集合
Person person = (Person) treeMap2.get(it.next());
System.out.println(person.getId_card() + " " + person.getName());
}
System.out.println("结束!");
发表评论
-
日期比较
2013-06-13 16:21 1176比较日期: function compareDate( ... -
Arrays.asList详解
2012-09-10 09:52 889Arrays.asList详解 记得以前写过一 ... -
Collections.addAll
2012-09-07 18:04 2330collections用法以及list 简单实例 Colle ... -
string
2012-09-06 17:20 891String a = "ab"; ... -
图片复制
2012-07-05 11:53 1068import java.io.File;import java ... -
thumbnailator 图片缩放
2012-07-04 20:10 1386Thumbnailator是一个用来生成图像缩略图的 J ... -
java File
2012-06-29 13:53 1278直接下载的,整理的很好,这里做个记录,基础的东西都是。 Fi ... -
mysql 时间比较
2012-06-05 19:57 1弱智得问题,分开写 SELECT * FROM bb_ ... -
split
2012-05-23 10:46 1203//String[] idArr = StringUtil ... -
(转)关于Integer大小比较的问题
2012-05-18 10:32 878关于Integer大小比较的问题 昨天跟朋友一起 ... -
toString
2012-05-14 20:01 1005public abstract class ToStringB ... -
io读取操作
2012-03-09 16:18 963public void writeFile(Strin ... -
string[] to map
2012-03-03 17:23 1085public static Map<Inte ... -
tomcat中文问题的解决
2012-03-01 09:55 861第一,存文件必须以一种编码存;读文件也必须以一种编码读,如不特 ... -
java方式将汉字转成拼音
2012-02-24 13:02 1063/** * 需要一个开源的jar包pinyin4j-2.5. ... -
System.getProperty(key)
2012-02-15 15:08 1020public static void main(String ... -
CodeFilter
2012-05-22 11:14 840package com.bitbao.cm.common.ut ... -
Integer值比较误区
2012-05-22 11:14 938例子: Integer i1 = 12; I ... -
容易忽略的for循环问题
2012-01-18 15:33 11751、项目中对用户操作的结果进行审核时候,出现一个问题,如果对省 ... -
java实现的加密工具类(支持MD5和SHA)
2012-01-13 16:08 1271版权声明: dtstudy原创文章,转载请注明出处: h ...
相关推荐
在Java编程语言中,`TreeMap`是一种基于红黑树数据结构实现的键值对容器,与`HashMap`不同,`TreeMap`自动按照键的自然顺序或者自定义的比较器进行排序。当我们需要存储的数据有特定的排序需求时,`TreeMap`便成为一...
Java 中 TreeMap 和 TreeSet 实现红黑树 Java 中的 TreeMap 和 TreeSet 都是基于红黑树的数据结构实现的。红黑树是一种自平衡的排序二叉树,它可以保证在插入、删除和搜索操作时都能维持平衡,从而确保搜索、插入...
Java 中 TreeMap 排序的示例代码 Java 中的 TreeMap 排序是 Java 语言中一种常用的数据结构排序方法。TreeMap 是一个有序的 Map 集合,它可以根据键的自然顺序或自定义的比较器进行排序。 TreeMap 排序的优点 1. ...
在本例中,我们使用了TreeMap的put方法来将单词和其出现的次数作为键值对存储在TreeMap中。我们还使用了TreeMap的keySet方法来获取TreeMap的所有键,并使用了get方法来获取键对应的值。 知识点7:Java printf格式化...
Java中的`TreeMap`是一个基于红黑树(Red-Black Tree)数据结构的有序映射容器。它维护了键的自然顺序或者根据提供的比较器进行排序。`TreeMap`类继承自`AbstractMap`,实现了`NavigableMap`、`SortedMap`接口,因此...
在Java编程语言中,`TreeMap` 是一个有序的键值对集合,它实现了 `SortedMap` 接口。这个数据结构内部基于红黑树(Red-Black Tree)算法实现,保证了插入、删除和查找操作的时间复杂度为 O(log n)。在“java treemap...
在遍历过程中,我们使用ASCII值来筛选出所有的字母,然后将其存储到TreeMap中。 在遍历完成后,我们可以使用TreeMap的keySet方法来获取所有的键,然后遍历键值对,输出每个字符的出现次数。 在上面的代码中,我们...
### Java中HashMap, LinkedHashMap, TreeMap,HashTable的区别 在Java编程语言中,`Map`接口是集合框架中的一个重要组成部分,用于存储键值对。本文将详细分析四种常用的`Map`实现类:`HashMap`, `LinkedHashMap`, ...
在Java编程中,Map接口是用于存储键值对的数据结构,而Java提供了多种Map的实现,包括TreeMap、HashMap和ConcurrentSkipListMap。本文主要比较了这三种Map的性能,尤其是在插入和查找操作上的效率。 1. **TreeMap**...
- keySet(),values()和entrySet():这三种方法分别返回TreeMap中键的集合、值的集合和键值对的集合,这些集合都是动态更新的,反映了TreeMap的当前状态。 在分析TreeMap源码时,我们应关注以下几个关键类和方法: ...
Java TreeMap排序算法是Java中的一种常用的排序算法,主要用于对Map中的键值对进行排序。TreeMap排序算法的实现原理是基于红黑树数据结构的,通过将键值对插入到红黑树中,并对树中的节点进行排序,以达到对键值对的...
这个程序基于`Treemap`数据结构,这是一种在Java中由`java.util.TreeMap`类提供的有序映射,它允许以键值对的形式存储数据,并且能保持键的自然排序或者自定义排序。 `Treemap`的主要特点: 1. **有序性**:`...
TreeMap是一种基于红黑树实现的有序映射(SortedMap)。它实现了NavigableMap接口,可以按照键的自然顺序或自定义排序规则对键值对进行排序和访问。
"Java中AVL平衡二叉树实现Map_(仿照TreeMap和TreeSet)1" 本文将详细介绍Java中AVL平衡二叉树实现Map的知识点,以便读者更好地理解和应用AVL树在Java中的实现。 一、AVL树的概念和特点 AVL树是一种自平衡二叉搜索...
TreeMap源码解读.java
在Java编程中,TreeMap是一种基于红黑树(Red-Black Tree)算法实现的有序映射数据结构。它按照键的自然顺序或者自定义比较器的顺序来存储元素。在这个场景下,`TreeMap`被用来实现数据的分组,并构建一个树形结构,...
在Java编程语言中,`TreeMap`是`java.util`包下的一种有序的键值对存储结构,它基于红黑树(Red-Black Tree)算法实现。`TreeMap`提供了许多高级功能,如排序、迭代顺序等,适用于需要保持数据有序性的场景。本资料...
3. **遍历**:由于TreeMap中的元素是有序的,可以使用`keySet()`, `values()`, 或 `entrySet()`方法获取迭代器,以便按顺序遍历元素。这对于打印或处理有序数据集非常有用。 4. **删除**:使用`remove()`方法可以...
在Java.util.TreeMap中,红黑树被用来实现Map接口,以提供高效的键值存储和检索操作。本文将通过分析Java.util.TreeMap源码,深入探索红黑树的奥秘,并加强对红黑树的理解。 红黑树的规则 红黑树有四个基本规则: ...