zoukankan      html  css  js  c++  java
  • Java自学-集合框架 HashMap和Hashtable的区别

    HashMap和Hashtable之间的区别

    步骤 1 : HashMap和Hashtable的区别

    HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式
    区别1:
    HashMap可以存放 null
    Hashtable不能存放null
    区别2:
    HashMap不是线程安全的类
    Hashtable是线程安全的类

    package collection;
     
    import java.util.HashMap;
    import java.util.Hashtable;
     
    public class TestCollection {
        public static void main(String[] args) {
             
            //HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式
             
            HashMap<String,String> hashMap = new HashMap<String,String>();
             
            //HashMap可以用null作key,作value
            hashMap.put(null, "123");
            hashMap.put("123", null);
             
            Hashtable<String,String> hashtable = new Hashtable<String,String>();
            //Hashtable不能用null作key,不能用null作value
            hashtable.put(null, "123");
            hashtable.put("123", null);
     
        }
    }
    

    练习反转key和value

    使用如下键值对,初始化一个HashMap:
    adc - 物理英雄
    apc - 魔法英雄
    t - 坦克

    对这个HashMap进行反转,key变成value,value变成key
    提示: keySet()可以获取所有的key, values()可以获取所有的value

    答案 :
    在这里插入图片描述

    package collection;
        
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Set;
        
    public class TestCollection {
        public static void main(String[] args) {
            HashMap<String,String> map = new HashMap<>();
            HashMap<String,String> temp = new HashMap<>();
            map.put("adc", "物理英雄");
            map.put("apc", "魔法英雄");
            map.put("t", "坦克");
             
            System.out.println("初始化后的Map:");
            System.out.println(map);
            Set<String> keys = map.keySet();
             
            for (String key : keys) {
                String value = map.get(key);
                temp.put(value, key);
            }
            map.clear();
            map.putAll(temp);
             
            System.out.println("反转后的Map:");
            System.out.println(map);
             
        }
    }
    
  • 相关阅读:
    Spring MVC:框架及其组件介绍
    Goods:生成订单
    Goods:我的订单查询分页
    LeetCode:Kth Largest Element in an Array(need update)
    LeetCode:Swap Nodes in Pairs
    Goods:购物车条目加减数量实现
    LeetCode:Sum Root to Leaf Numbers
    Goods:购物车模块之全选按钮与条目之复选按钮的click事件
    Goods:查询某个用户的购物车条目以及添加购物车条目
    洛谷2387 NOI2014魔法森林(LCT维护最小生成树)
  • 原文地址:https://www.cnblogs.com/jeddzd/p/12114331.html
Copyright © 2011-2022 走看看