• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

HashMap,LinkedHashMap,TreeMap使用代码

JAVA相关 水墨上仙 3021次浏览

HashMap,LinkedHashMap,TreeMap应用
来源:http://blog.csdn.net/hopezhangbo/article/details/8097645

共同点:
HashMap,LinkedHashMap,TreeMap都属于Map;Map&nbsp主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。

不同点:
1.HashMap里面存入的键值对在取出的时候是随机的,也是我们最常用的一个Map.它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。
&nbsp&nbsp&nbsp在Map&nbsp中插入、删除和定位元素,HashMap&nbsp是最好的选择。

2。TreeMap取出来的是排序后的键值对。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。

3.&nbspLinkedHashMap&nbsp是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:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp3
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbspF
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp2
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp4
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbspQ
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp1
——有序(但是按默认顺充,不能指定)——
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp4
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp1
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp2
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbspE
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbspF
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbspQ
——有序(根据输入的顺序输出)——
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbspF
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp1
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp2
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbsp4
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbspQ
Key:&nbsp&nbsp&nbspValue:&nbspLevel&nbspE


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明HashMap,LinkedHashMap,TreeMap使用代码
喜欢 (0)
加载中……