java HashMap,LinkedHashMap,TreeMap应用
共同点:
HashMap,LinkedHashMap,TreeMap都属于Map;Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。
不同点:
1、HashMap里面存入的键值对在取出的时候是随机的,也是我们最常用的一个Map.它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。在Map 中插入、删除和定位元素,HashMap 是最好的选择。
2、TreeMap取出来的是排序后的键值对。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。
3、LinkedHashMap 是HashMap的一个子类,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现.
public static void noOrder() {
System.out.println("------无序(随机输出------");
Map<String,String> map = new HashMap<String,String>();
map.put("A", "value1");
map.put("B", "value2");
map.put("1", "value3");
map.put("2", "value4");
map.put("3", "value5");
map.put("4", "value6");
map.put("C", "value7");
map.put("D", "value8");
Set<String> keys = map.keySet();
for (String key : keys)
{
System.out.println("Key: " + key + "; Value: "
+ map.get(key));
}
}

// 有序(默认排序,不能指定)
public static void hasOrder() {
System.out.println("------有序(但是按默认顺充,不能指定)------");
Map<String,String> map = new TreeMap<String,String>();
map.put("B", "value1");
map.put("A", "value2");
map.put("3", "value3");
map.put("4", "value4");
map.put("C", "value5");
map.put("E", "value6");
map.put("5", "value7");
map.put("6", "value8");
Set<String> keys = map.keySet();
for (String key : keys)
{
System.out.println("Key: " + key + "; Value: "
+ map.get(key));
}
}

public static void likedHashMap() {
System.out.println("------有序(根据输入的顺序输出)------");
Map<String,String> map = new LinkedHashMap<String,String>();
map.put("F", "Level F");
map.put("7", "Level 1");
map.put("8", "Level 2");
map.put("4", "Level 3");
map.put("4", "Level 4");
map.put("Q", "Level Q");
map.put("E", "Level E");
Set<String> keys = map.keySet();
for (String key : keys)
{
System.out.println("Key: " + key + "; Value: "
+ map.get(key));
}
}

java HashMap,LinkedHashMap,TreeMap应用的更多相关文章
- Java HashMap,LinkedHashMap,TreeMap
Java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMapMap主要用于存储健值对,根据 ...
- Java中HashMap,LinkedHashMap,TreeMap的区别[转]
原文:http://blog.csdn.net/xiyuan1999/article/details/6198394 java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类 ...
- Java从入门到放弃18---Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法
Java从入门到放弃18—Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法01 Map集合Map集合处理键值映射关系的数据为了方便 ...
- java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根 ...
- HashMap,LinkedHashMap,TreeMap对比
共同点: HashMap,LinkedHashMap,TreeMap都属于Map:Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复. 不同点: 1.H ...
- HashMap,LinkedHashMap,TreeMap的区别(转)
Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复.Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快 ...
- map,set,list等集合解析以及HashMap,LinkedHashMap,TreeMap等该选谁的的区别
前言: 今天在整理一些资料时,想起了map,set,list等集合,于是就做些笔记,提供给大家学习参考以及自己日后回顾. Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允 ...
- [Java] HashMap、TreeMap、Hashtable排序
Java中对Map(HashMap,TreeMap,Hashtable等)的排序时间 首先简单说一下他们之间的区别: HashMap: 最常用的Map,它根据键的HashCode 值存储数据,根据键可 ...
- HashMap,LinkedHashMap,TreeMap之间的区别
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap . Map 主要用于存储键( ...
随机推荐
- [BZOJ4824][Cqoi2017]老C的键盘 树形dp+组合数
4824: [Cqoi2017]老C的键盘 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 218 Solved: 171[Submit][Statu ...
- Openstack 清除openstack网络与路由 (十七)
一)清除openstack网络与路由 “清除openstack网络与路由”和”添加openstack网络与路由”的操作步骤相反. 添加网络或路由时是先建 搭建网络>搭建子网>建立端口, 而 ...
- php api接口校验规则示例
1.发送 /** * 客户端请求 * @param url 接口地址 * @param array $params(post) * @return json * @throws Exception * ...
- cocos2djs ctor init onEnter的区别
cocos2d-html5 onEnter init ctor构造函数 ---js特有特性(和c++有点不一样 ctor 构造函数, new 一个对象的时候调用-----coco2d-js , 默认c ...
- 使用CMake,且在GCC编译时指定相对源代码路径选项BUG的问题
CMake的build.make,每次都是cd xxx目录,然后再编译 而编译时,GCC会取当前路径保存进调试信息的DT_AT_comp_dir,GCC的编译器选项-fdebug-prefix-map ...
- 干净地发布QT程序
原文请看:http://www.cnblogs.com/DrizzleX/articles/2475044.html 本文研究这样一个问题:使用QT SDK和VS2008开发了一个程序,将这个程序放到 ...
- grep 参数
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- oracle 查看16进制
DUMP function is useful for this purpose. SQL> select dump(C1) from test; DUMP(C1)--------------- ...
- Luogu P3579 [POI2014]PAN-Solar Panels
题目大意: 给出T组询问,每组询问给出四个数a,b,c,d,每次询问满足a<=x<=b,c<=y<=d的gcd(x,y)的最大值 首先可以想到如果存在gcd(x,y)=k,那么 ...
- [Agc008F]Black Radius
[AGC008F] Black Radius Description 给你一棵有N个节点的树,节点编号为1到N,所有边的长度都为1 "全"对某些节点情有独钟,这些他喜欢的节点的信息 ...