Map接口详解
最近做一个项目,感觉自己的Java基础实在太差,不得不补补,所以又回来学习了一下Map,做了一下笔记Map<K,V>必须要有泛型
实现的子类有HashMap,TreeMap,HashTable
TreeMap是按照Key值排序的子类
集合可以通过Iterator输出,而Map不能通过Iterator输出
虽然Map是K,V存放,但真正的还是将K,V存放到一个对象中去,这个对象就是Map.Entry
Map集合当中存放了一个个Map.Entry对象
有泛型,得Map<String,Double> map=new HashMap<String,Double>();
注意:根绝键Key取得值Value
如果Key有重复的值,则会把之前的值给覆盖了
主要方法有
keySet() 返回此映射中包含的键的 Set 视图。
Set<String> set=map.keySet();
将Map转换为Set集合,取得Map中所有的Key值
values() 返回此映射中包含的值的 Collection 视图。
Collection<Double> col=map.values();
取出全部的value值
entrySet() 返回此映射中包含的映射关系的 Set 视图。
最重要的是把值迭代出来
Iterator<Double> iter=col.iterator();
While(iter.hasnext())
{
System.out.println(iter.next());
}
package com.wzx.map;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class HashMapDemo {/** * @param args * 泛型使用<String,Double> */public static void main(String[] args) {// TODO Auto-generated method stubMap<String,Double> map=new HashMap<String,Double>();map.put("王振兴", 20001.0);map.put("ChinaJweb", 200002.0);IterEntry(map);}//取得Map中所有的Key值public static void getKey(Map<String,Double> map){Collection<String> col=map.keySet();Iterator<String> iter=col.iterator();while(iter.hasNext()){System.out.println(iter.next());}}//取得Map中所有的Value值public static void getValues(Map<String,Double> map){Collection<Double> col=map.values();Iterator<Double> iter=col.iterator();while(iter.hasNext()){System.out.println(iter.next());}}//循环迭代Map中得K,Vpublic static void IterEntry(Map<String,Double> map){Set<Map.Entry<String,Double>> allSet=map.entrySet();Iterator<Map.Entry<String,Double>> iterSet=allSet.iterator();while(iterSet.hasNext()){Map.Entry<String,Double> ME=iterSet.next();System.out.println(ME.getKey()+"----->"+ME.getValue());}}}
页:
[1]