Java自学-集合框架 HashMap和Hashtable的区别
程序员文章站
2022-06-07 11:30:08
HashMap和Hashtable之间的区别 步骤 1 : HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 区别1: HashMap可以存放 null Hashtable不能存放null 区别2: HashMap不是线程安全的 ......
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); } }
练习:
使用如下键值对,初始化一个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); } }
推荐阅读
-
Java中HashMap和TreeMap的区别深入理解
-
Java自学-集合框架 HashMap和Hashtable的区别
-
Java自学-集合框架 ArrayList和LinkedList的区别
-
Java自学-集合框架 ArrayList和HashSet的区别
-
HashMap与Hashtable的区别 面试多线程框架
-
HashMap和Hashtable的区别???
-
HashMap和Hashtable的详细区别
-
65、ArrayList和Vector的区别,HashMap和Hashtable的区别
-
HashMap和Hashtable的区别
-
Java自学-集合框架 HashMap和Hashtable的区别