HashMap,LinkedHashMap,TreeMap应用
HashMap,LinkedHashMap,TreeMap应用简介:
共同点:
HashMap,LinkedHashMap,TreeMap都属于Map;Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。
不同点:
1.HashMap里面存入的键值对在取出的时候是随机的,也是我们最常用的一个Map.它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。
在Map 中插入、删除和定位元素,HashMap 是最好的选择。
2。TreeMap取出来的是排序后的键值对。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。
3. LinkedHashMap 是HashMap的一个子类,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现.
代码实例:
package com.lrm.study.testcase;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class MapAppTest {
/**
* @Create on Nov 9, 2009 by lrm
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MapAppTest.noOrder();
MapAppTest.hasOrder();
MapAppTest.likedHashMap();
}
public static void noOrder() {
System.out.println("------无序(随机输出------");
Map map = new HashMap();
map.put("1", "Level 1");
map.put("2", "Level 2");
map.put("3", "Level 3");
map.put("4", "Level 4");
map.put("F", "Level F");
map.put("Q", "Level Q");
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry e = (Map.Entry) it.next();
System.out.println("Key: " + e.getKey() + "; Value: "
+ e.getValue());
}
}
// 有序(默认排序,不能指定)
public static void hasOrder() {
System.out.println("------有序(但是按默认顺充,不能指定)------");
Map map = new TreeMap();
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");
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry e = (Map.Entry) it.next();
System.out.println("Key: " + e.getKey() + "; Value: "
+ e.getValue());
}
}
public static void likedHashMap() {
System.out.println("------有序(根据输入的顺序输出)------");
Map map = new LinkedHashMap();
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");
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry e = (Map.Entry) it.next();
System.out.println("Key: " + e.getKey() + "; Value: "
+ e.getValue());
}
}
}
输入结果:
------无序(随机输出------
Key: 3; Value: Level 3
Key: F; Value: Level F
Key: 2; Value: Level 2
Key: 4; Value: Level 4
Key: Q; Value: Level Q
Key: 1; Value: Level 1
------有序(但是按默认顺充,不能指定)------
Key: 4; Value: Level 4
Key: 7; Value: Level 1
Key: 8; Value: Level 2
Key: E; Value: Level E
Key: F; Value: Level F
Key: Q; Value: Level Q
------有序(根据输入的顺序输出)------
Key: F; Value: Level F
Key: 7; Value: Level 1
Key: 8; Value: Level 2
Key: 4; Value: Level 4
Key: Q; Value: Level Q
Key: E; Value: Level E
HashMap,LinkedHashMap,TreeMap应用相关推荐
- java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根 ...
- Java中的Map集合及其子类HashMap,LinkedHashMap,TreeMap,ConcurrentHashMap
一 .Map public interface Map<K,V> 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接口哦取代了Dictionary类,后者完全是 ...
- HashMap,LinkedHashMap,TreeMap的有序性
HashMap 是将 Key 做 Hash 算法,然后将 Hash 值映射到内存地址,直接取得 Key 所对应的数据.在 HashMap 中,底层数据结构使用的是数组,所谓的内存地址即数组的下标索引. ...
- JavaSE学习总结(十四)Map集合/Map和Collection的区别/HashMap/LinkedHashMap/TreeMap/集合间的嵌套/Hashtable/Collections工具类
一.Map集合 我们知道,一个学号就能对应一个学生,并且每个学生的学号都不同,学号就像一个键,对应的学生就是该键对应的值.日常生活中经常能见到这种类似学号对应学生的例子.Java 为了我们更加方便地去 ...
- HashMap、TreeMap、Hashable和LinkedHashMap
Map是最重要的数据结构之一.开始会告诉怎么用HashMap.TreeMap.Hashtable和LinkedHashMap 1.Map概述 在Java SE中有4种Map的实现:HashMap.Tr ...
- Hashtable TreeMap HashMap LinkedHashMap的区别
Hashtable TreeMap HashMap LinkedHashMap的区别 Hashtable TreeMap HashMap LinkedHashMap详解 Hashtable 1.内部存 ...
- HashMap, LinkedHashMap 和 TreeMap的区别
HashMap, LinkedHashMap 和 TreeMap的区别 Java里面的HashMap, LinkedHashMap 和 TreeMap 有什么区别?我看不出以下3个key和value有 ...
- LinkedHashMap,HashMap,TreeMap
package com.test;import java.util.*;/*** @author ***** @create 2017-07-10 20:28*/ public class Linke ...
- HashMap、TreeMap、Hashtable、LinkedHashMap区别
查看原文: http://www.ibloger.net/article/153.html HashMap 允许设置key和value为null,key存放是乱序的,不支持线程的同步,即任一时刻可以有 ...
- HashMap vs. TreeMap vs. Hashtable vs. LinkedHashMap(转载)
本文由 ImportNew - 唐小娟 翻译自 Programcreek.欢迎加入 翻译小组.转载请见文末要求. Map是最重要的数据结构.这篇文章中,我会带你们看看HashMap, TreeM ...
最新文章
- java TreeMap 源代码分析 平衡二叉树
- C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息
- cmd常用命令与演示
- 搭建Docker环境---私有仓库registry搭建
- 0301 - 一个比价的小项目
- java 配置参数_给你的JAVA程序配置参数(Properties的使用)
- XSS(跨站脚本攻击)攻击与防御
- Python数据预处理数据的方法总结(使用sklearn-preprocessing)
- 一年3000家企业涌入,站上风口的男色经济难逃烧钱亏损
- php遍历文件制作删除,使用PHP遍历文件目录与清除目录中文件的实现详解
- 基于SpringBoot的在线音乐播放系统
- HTTPS性能优化实践
- SLAM笔记------------------(1)
- CMake实践(2)
- Android自适应国际化语言
- 微型计算机的硬件原理图,电脑硬件基础图解
- cad相对坐标快捷键_47个快捷键+50个CAD技巧助你玩转CAD
- python 循环高级用法 [expression for x in X [if condition] for y in Y [if condition] ... for n in N [if con
- 高效率的网站打开速度优化方法
- HTML5、css3、js实现3D相册
热门文章
- python+jpype+linux出现内存溢出问题解决方案
- 读书笔记202208 TRC2010 Multi-agent model predictive control of signaling split in urban traffic networks
- chmod755的含义
- 中国移动(ECIA)云网工程师技术知识-立哥技术
- Radius认证协议(六)报文属性
- MATLAB三维绘图命令plot3入门
- 1481c语言合法标识符,c语言试题答案集
- MDM数据质量应用说明
- 读《Android开发艺术探索》后的面试题整理
- mcafee升级包下载地址