• java集合 :map 学习


    map三个实现类HashMap,TreeMap,HashTable

    1.  (1)  HashMap概述:

       HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

      (2) HashMap的数据结构:

       在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。

    网上详细的介绍:http://zhangshixi.iteye.com/blog/672697

     

    Map存储健值对,根据键得到值,不允许键重复。

    
    

    1、HashMap、LinkedHashMap、TreeMap 只允许一个键为null,值不限制。

    
    

    2、Hashtable 线程安全,键不能为null,与HashMap类似,但效率较低,HashMap如果需要实现同步,可以使用Collections. synchronizedMap或ConcurrentHashMap 。

    
    

    3、HashMap键无序;LinkedHashMap键保存了插入的顺序,使用Iterator遍历时,得到的也是插入顺序的记录;TreeMap默认按键的升序排序,可以定制比较器。

    
    
    public class Hashtable<k,v> extends Dictionary<k,v> implements Map<k,v>, Cloneable, Serializable
    
    public class HashMap<k,v> extends AbstractMap<k,v> implements Map<k,v>, Cloneable, Serializable
    
    public class LinkedHashMap<k,v> extends HashMap<k,v> implements Map<k,v>
    
    public class TreeMap<k,v> extends AbstractMap<k,v> implements SortedMap<k,v>, NavigableMap<k,v>, Cloneable, Serializable
    
    public interface SortedMap<k,v> extends Map<k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v>
    
    

    遍历Map的方法:

    
    
         Map<string,integer> hashMap = new HashMap<string,integer>();
            Random random = new Random();
            for(int i=1;i<11;i++){
                hashMap.put("map"+i, random.nextInt(i));
            }
            Set hashMapKey = hashMap.keySet();
            Collection hashMapValue = hashMap.values();
            Iterator keyVal = hashMapKey.iterator();
            System.out.print("key:");
            while(keyVal.hasNext()){
                System.out.print(" "+keyVal.next());
            }
            Iterator hashMapVal = hashMapValue.iterator();
            System.out.print("
     value:");
            while(hashMapVal.hasNext()){
                System.out.print(" "+hashMapVal.next());
            }
     
    
    
  • 相关阅读:
    灌水专栏
    工程控制基础相关指标识图与记忆
    材料力学典型习题
    材料力学大学慕课汇总
    机械工程控制基础线性系统时域分析
    ccaa
    在电脑上使用听写,以说话代替打字
    李さんは森さんより若いです
    机械制造工艺基础
    大学慕课材料力学总结
  • 原文地址:https://www.cnblogs.com/mpxBlog/p/4538787.html
Copyright © 2020-2023  润新知