Java 中的Map之Hashtable再认知

目录

代码

方法

LearnHashTable.java


Java代码写了不少,但是就是碎片化的,现在系统的整理一下;

代码

方法

*构造方法摘要
*  * Hashtable()
*  *           用默认的初始容量 (11) 和加载因子 (0.75) 构造一个新的空哈希表。
*
*  * Hashtable(int initialCapacity)
*  *           用指定初始容量和默认的加载因子 (0.75) 构造一个新的空哈希表。
*
*  * Hashtable(int initialCapacity, float loadFactor)
*  *           用指定初始容量和指定加载因子构造一个新的空哈希表。
*
*  * Hashtable(Map<? extends K,? extends V> t)
*  *           构造一个与给定的 Map 具有相同映射关系的新哈希表。
*
*方法摘要
*  *  void clear()
*  *           将此哈希表清空,使其不包含任何键。
*
*  *  Object   clone()
*  *           创建此哈希表的浅表副本。
*
*  *  boolean  contains(Object value)
*  *           测试此映射表中是否存在与指定值关联的键。
*
*  *  boolean  containsKey(Object key)
*  *           测试指定对象是否为此哈希表中的键。
*
*  *  boolean  containsValue(Object value)
*  *           如果此 Hashtable 将一个或多个键映射到此值,则返回 true。
*
*  *  Enumeration<V>   elements()
*  *           返回此哈希表中的值的枚举。
*
*  *  Set<Map.Entry<K,V>>  entrySet()
*  *           返回此映射中包含的键的 Set 视图。
*
*  *  boolean  equals(Object o)
*  *           按照 Map 接口的定义,比较指定 Object 与此 Map 是否相等。
*
*  *  V    get(Object key)
*  *           返回指定键所映射到的值,如果此映射不包含此键的映射,则返回 null. 更确切地讲,如果此映射包含满足 (key.equals(k)) 的从键 k 到值 v 的映射,则此方法返回 v;否则,返回 null。
*
*  *  int  hashCode()
*  *           按照 Map 接口的定义,返回此 Map 的哈希码值。
*
*  *  boolean  isEmpty()
*  *           测试此哈希表是否没有键映射到值。
*
*  *  Enumeration<K>   keys()
*  *           返回此哈希表中的键的枚举。
*
*  *  Set<K>   keySet()
*  *           返回此映射中包含的键的 Set 视图。
*
*  *  V    put(K key, V value)
*  *           将指定 key 映射到此哈希表中的指定 value。
*
*  *  void putAll(Map<? extends K,? extends V> t)
*  *           将指定映射的所有映射关系复制到此哈希表中,这些映射关系将替换此哈希表拥有的、针对当前指定映射中所有键的所有映射关系。
*
*  * protected  void   rehash()
*  *           增加此哈希表的容量并在内部对其进行重组,以便更有效地容纳和访问其元素。
*
*  *  V    remove(Object key)
*  *           从哈希表中移除该键及其相应的值。
*
*  *  int  size()
*  *           返回此哈希表中的键的数量。
*
*  *  String   toString()
*  *           返回此 Hashtable 对象的字符串表示形式,其形式为 ASCII 字符 ", " (逗号加空格)分隔开的、括在括号中的一组条目。
*
*  *  Collection<V>    values()
*  *           返回此映射中包含的键的 Collection 视图。
*
* 从类 java.lang.Object 继承的方法
*  * finalize, getClass, notify, notifyAll, wait, wait, wait

LearnHashTable.java

package javacollection.map;


import java.util.*;


public class LearnHashTable {
    public static void main(String[] args){
        Hashtable<String,Integer> hashtable = new Hashtable<>();
        Map<String,Integer> map = new HashMap<>();
        map.put("Hadoop", 80);
        map.put("Spark", 99);
        map.put("Hive", 78);

        hashtable.putAll(map);
        hashtable.put("Hbase", 88);
        hashtable.put("", 91);

        // 测试此映射表中是否存在与指定值关联的键。
        boolean isContains90Key = hashtable.contains(90);
        System.out.println("hashtable contains key of value=90: "+ isContains90Key);

        // 返回此哈希表中的值的枚举。
        Enumeration enumeration = hashtable.elements();
        while (enumeration.hasMoreElements()){
            Integer key = (Integer) enumeration.nextElement();
            System.out.println("enumeration: "+ key);
        }

        // 返回此映射中包含的键的 Collection 视图。
        Collection collection = hashtable.values();
        Iterator iterator = collection.iterator();
        while (iterator.hasNext()){
            Integer value = (Integer)iterator.next();
            System.out.println("collection: "+ value);
        }


        // 按照 Map 接口的定义,返回此 Map 的哈希码值。
        int hashCode = hashtable.hashCode();
        System.out.println("hashtable hashCode: "+ hashCode);

        //返回此哈希表中的键的枚举。
        Enumeration keys = hashtable.keys();
        while (keys.hasMoreElements()){
            System.out.println("keys: "+ keys.nextElement());
        }

        // 返回此 Hashtable 对象的字符串表示形式,其形式为 ASCII 字符 ", " (逗号加空格)分隔开的、括在括号中的一组条目。
        String result = hashtable.toString();
        System.out.println("hashtable call toString(): "+ result);

    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值