最近做一个项目,感觉自己的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());
}
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 stub
Map<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,V
public 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());
}
}
}