步骤 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); } }
如对本文有疑问, 点击进行留言回复!!
Unity UGUI 之 实现按钮 Button 长按和双击的功能效果
[U3D Learning Note] Unity C# Surival Guide (1) -- Quick Tips and Assets
网友评论