Map接口
实现Map接口的类用来存储键(key)-值(value) 对。
Map 接口的实现类有HashMap和TreeMap等。
Map类中存储的键-值对通过键来标识,所以键值不能重复。
HashMap: 线程不安全,效率高. 允许key或value为null
HashTable:线程安全,效率低. 不允许key或value为null
Properties : HashTable的子类,key和value都是string
常用的方法:
Object put(Object key, Object value);
Object get(Object key);
Object remove(Object key);
boolean containsKey(Object key);
boolean containsValue(Object value);
int size();
boolean isEmpty();
void putAll(Map t);
void clear();
注意: put用法 :在添加元素的时候 ,键值的相同时候 后添加的值会覆盖掉原来的键对应值的
并将原来的键对应的值 进行放回
第一种遍历map集合的办法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//第一种比例hashMap的方法 Map<String, String> maps=new HashMap<String, String>(); maps.put("a", "尚晓飞"); maps.put("b", "尚小帅"); maps.put("c", "尚晓燕"); //得到所有的key的一个set集合,遍历set集合,从而取出map的value值 Set<String> set=maps.keySet(); for (Iterator iterator = set.iterator(); iterator.hasNext();) { String key = (String) iterator.next(); System.out.println("Test.main()"+"key-->"+key+" value-->"+maps.get(key)); }
第二种遍历map集合的办法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//第二种遍历hashMap的方法 Map<String, String> maps=new HashMap<String, String>(); maps.put("a", "尚晓飞"); maps.put("b", "尚小帅"); maps.put("c", "尚晓燕"); maps.put("a", "sdafasd"); //得到所有的key的一个set集合,遍历set集合,从而取出map的value值 Set<String> set=maps.keySet(); for(String a:set){ System.out.println("Test.main()"+maps.get(a)); }
第三种遍历map集合的办法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//第三种遍历hashMap的方法 Map<String, String> maps=new HashMap<String, String>(); maps.put("a", "尚晓飞"); maps.put("b", "尚小帅"); maps.put("c", "尚晓燕"); maps.put("a", "sdafasd"); Set<Entry<String, String>> entrySet=maps.entrySet(); for (Iterator iterator = entrySet.iterator(); iterator.hasNext();) { Entry<String, String> entry = (Entry<String, String>) iterator.next(); System.out.println("Test.main()"+entry.getKey()+"----"+entry.getValue()); }
第四种遍历map集合的办法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//第四种遍历hashMap的方法 Map<String, String> maps=new HashMap<String, String>(); maps.put("a", "尚晓飞"); maps.put("b", "尚小帅"); maps.put("c", "尚晓燕"); maps.put("a", "sdafasd"); Set<String> set=maps.keySet(); Iterator<String> iterator=set.iterator(); while(iterator.hasNext()){ String key=iterator.next(); System.out.println("Test.main()"+maps.get(key)); } }