您的位置:首页 > 其它

HashMap的三种遍历方式

2017-09-16 19:27 357 查看
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;

public class HashMapDemo {

public static void main(String[] args) {
HashMap map = new HashMap();
//HashMap<Object,Object> map = new HashMap<Object,Object>();
HashMap<Object, Object> map2 = new HashMap<Object, Object>();

//添加--map.put(key,value)
map.put("1001", "张三");
map.put("1002", "李四");
map.put("1003", "Jack");
map.put("1004", "Tom");

//删除--map.remove(key)
Object obj = map.remove("1003");
System.out.println("删除的元素:"+obj);

//修改--put(key,value) ,当key存在
map.put("1002", "赵敏"); //如果key存在则是修改,否则是添加

//查询
//查单个 ---map.get(key)
Object v = map.get("1002"); //如果key所对应位置的value不存在,则返回null
System.out.println("1002:"+v);

//遍历方法1---视图1---map.entrySet()
System.out.println("------视图1---entrySet------------");
Set entries = map.entrySet();
Iterator it = entries.iterator();
while(it.hasNext()){
Entry en = (Entry) it.next();
Object key = en.getKey();
Object value = en.getValue();
System.out.println(key+","+value);
}

//遍历方法2---视图2---map.keySet()
System.out.println("------视图2---keySet------------");
Set set = map.keySet();
Iterator it2 = set.iterator();
while(it2.hasNext()){
Object kk = it2.next();
Object vv = map.get(kk);
System.out.println(kk+","+vv);
}

//如果想避开迭代器来遍历集合(Collection=List或Set),可以转换成数组来进行
System.out.println("------");
Object objs[] = set.toArray();
for(int i=0;i<objs.length;i++){
System.out.println(objs[i]+","+map.get(objs[i]));
}

//遍历方法3---视图3---map.values()--Collection
//values视图只能拿到value,不方便拿到key,我们一般很少使用,抛弃了key优点。
System.out.println("------视图3---values------------");
Collection col = map.values();
Iterator it3 = col.iterator();
while(it3.hasNext()){
Object val = it3.next();
System.out.println(val);
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: