JAVAAPI学习之HashMaple类

package util;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 *
 * @author yjmao
 * @deprecated HashMap的常用方法小结(继承于Map<K,V>接口)
 * @version V1.0.0
 * @see:基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。
 * (除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 
 */
public class LearnHashMap {
    public static void main(String[] args){
        //easyMethod();
        //hardMethod();
    }
    public static void hardMethod(){
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("name", "maoyuanjun");
        map.put("sex", "man");
        map.put("age", "24");
        //如果key键相等,则里面的value值显示最后设置的值,也就是说后面设置的值会覆盖前面设置的值
        map.put("name", "zoulingpei");
        System.err.println(map.get("name"));
        Map<String,Object> mapAll = new HashMap<String,Object>();
        mapAll.putAll(map);
        mapAll.put("age", "22");
        System.err.println("mapAll所对应的集合个数:" + mapAll.size());
        System.err.println("age所对应的值:" + mapAll.get("age"));
        
        System.err.print("mapAll所包含的键:");
        //keySet():返回此映射中所包含的键的 Set 视图。返回 Set<K>
        Set<String> keyset = mapAll.keySet();
        Iterator<String> iterator = keyset.iterator();
        while(iterator.hasNext()){
            String setKeyValue = iterator.next();
            System.err.print(setKeyValue + ",");
        }
        
        System.err.print("\nmapAll所包含的值:");
        //values():返回此映射所包含的值的 Collection 视图。返回Collection<V>
        Collection<Object> c = mapAll.values();
        Iterator<Object> iteratorV = c.iterator();
        while(iteratorV.hasNext()){
            String setValueValue = (String) iteratorV.next();
            System.err.print(setValueValue + ",");
        }
        
        System.err.print("\nmapAll所包含的键值对:\n");
        //entrySet():返回此映射所包含的映射关系的 Set 视图。返回 Set<Map.Entry<K,V>> 
        Set<Entry<String,Object>> en = mapAll.entrySet();
        Iterator<Entry<String,Object>> it = en.iterator();
        while(it.hasNext()){
            Entry<String,Object> entry = it.next();
            String key = entry.getKey();
            String value = (String) entry.getValue();
            System.err.println(key + ":" + value);
        }
    }
    public static void easyMethod(){
        Map<String,Object> map = new HashMap<String,Object>();
        
        //isEmpty():如果此映射不包含键-值映射关系,则返回 true。 
        boolean isEmpty = map.isEmpty();
        System.err.println("map是否为空:" + isEmpty);
        
        //put(K key,V value):K表示指定值将要关联的键;V表示指定键将要关联的值 
        map.put("name", "maoyuanjun");
        map.put("sex", "man");
        map.put("age", "24");
        
        //size():返回此映射中的键-值映射关系数。 
        int size = map.size();
        System.err.println("map中的键值对数:" + size);
        
        //containsKey(Object key):如果此映射包含对于指定键的映射关系,则返回 true。 
        boolean conT = map.containsKey("name");
        System.err.println("map是否包含name键:" + conT);
        boolean conF = map.containsKey("zou");
        System.err.println("map是否包含zou键:" + conF);
        
        //containsValue(Object value):如果此映射将一个或多个键映射到指定值,则返回 true。
        boolean vonT = map.containsValue("maoyuanjun");
        System.err.println("是否包含maoyuanjun值:" + vonT);
        boolean vonF = map.containsValue("zoulingpei");
        System.err.println("是否包含zoulingpei值:" + vonF);
        
        
        //get(Object key):返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。
        String value =  (String) map.get("name");
        System.err.println("name键所对应的值:" + value);
        
        //remove(Object key):从此映射中移除指定键的映射关系(如果存在)。 
        //返回与 key 关联的旧值;如果 key 没有任何映射关系,则返回 null
        String rbRemove = (String) map.remove("name");
        System.err.println("移除的键name所对应的值:" + rbRemove);
        System.err.println("是否包含name键:" + map.containsKey("name"));
        
        //clear():清空map
        map.clear();
        boolean empty = map.isEmpty();
        System.err.println("map是否为空:" + empty);
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值