Map.Entry 和 ConcurrentHashMap 使用
一、内容介绍;主要简易介绍Map.Entry?和 ConcurrentHashMap?和使用,不深入专研源码的实现方式; Map.Entry Map是java中的接口,而Map.Entry是Map的一个内部接口;entrySet是Map对象的一个方法,返回一个实现Map.Entry的接口的对象集合,集合中每个对象都是Map中的一个键/值对;然后通过Map.Entry的方法可以获取到Map集合的Key和Value;? * Object getKey(): 返回条目的关键字 ? ? ?? HashMap、HashTable、ConcurrentHashMap 以下三个都是存放key-value键值对的集合;其中key和value都是对象,并且不能包含重复key,但可以包含重复的value。 * HashMap:非线程安全;HashMap把Hashtable的contains方法去掉了,改成containsValue和containsKey;Hashtable中; key和value允许出现null值; ? 二、测试样例; 1 public class MapEntryTest { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 Map<String,String> map = new HashMap<String,String>(); 6 map.put("Andy","90"); 7 map.put("Tony","80"); 8 map.put("Jason","96"); 9 for(Map.Entry<String,String> entry : map.entrySet()){ 10 System.out.println("key="+entry.getKey()+" value="+entry.getValue()); 11 if(entry.getKey().equals("Tony")){ 12 entry.setValue("100"); //更改value的值并返回旧值; 13 } 14 } 15 System.out.println(map.get("Tony")); 16 } 17 18 } 1 public class ConcurrentHashMapTest { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 Map<String,"90"); 7 map.put(null,null); 8 System.out.println(map.size()); 9 10 Map<String,String> map2 = new ConcurrentHashMap<String,String>(); 11 map2.put("Tony","80"); 12 System.out.println(map2.get("Tony")); 13 14 Map<String,String> map3 = new Hashtable<String,String>(); 15 map3.put("Jack","20"); 16 System.out.println(map3.get("Jack")); 17 } 18 19 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |