前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java集合知识点整理】(持续更新)

【Java集合知识点整理】(持续更新)

作者头像
yesr
发布2019-03-14 12:50:46
4270
发布2019-03-14 12:50:46
举报
文章被收录于专栏:leetcode_solutions

1. Map.putAll()

代码语言:javascript
复制
import Java.util.HashMap;
public class Map_putAllTest {
public static void main(String[] args){
   //两个map具有不同的key
   HashMap map1=new HashMap(); 
   map1.put("1", "A"); 
   HashMap map2 = new HashMap(); 
   map2.put("2", "B"); 
   map2.put("3", "C"); 
   map1.putAll(map2); 
   System.out.println(map1);
   //两个map具有重复的key
   HashMap map3=new HashMap(); 
   map3.put("1", "A"); 
   HashMap map4 = new HashMap(); 
   map4.put("1", "B"); 
   map4.put("3", "C"); 
   map3.putAll(map4); 
   System.out.println(map3);
}
}
/* 输出结果:
* {3=C, 2=B, 1=A}
* {3=C, 1=B}
* 结论:putAll可以合并两个MAP,只不过如果有相同的key那么用后面的覆盖前面的

2. HashMap.entrySet()

代码语言:javascript
复制
package map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;

/**
 * @author Administrator
 *注意:HashMap不支持Iterator所以要通过其他方式迭代Map中的Key和Value
 */
public class EntrySetDemo {
    public static void main(String[] args) {
        HashMap<String,String> hs=new HashMap<String,String>();
        //添加元素
        hs.put("key1", "value1");
        hs.put("key2", "value2");
        hs.put("key3", "value3");
        hs.put("key4", "value4");
        hs.put("key5", "value5");
        /**
         * 获取hs返回的Set视图
         * 非常注意:返回此映射中包含的映射关系的Set视图,对此Set视图的操作会反映到原来的HashMap
         */
        Set<Entry<String,String>> set=hs.entrySet();
        /**
         * 对Set进行迭代,返回的Entry包含key和value,格式为:key=value
         */
        Iterator<Entry<String,String>> iter=set.iterator();
        //这种做法输出的格式为key=value
//        while(iter.hasNext()){
//            System.out.println(iter.next());
//        }
        
        //对entry进行迭代
        while(iter.hasNext()){
            Entry<String,String> entry=iter.next();//得到一个entry对象
            entry.setValue("123");//将当前迭代的Entry的value替换为123
            String key=entry.getKey();//获取当前迭代的entry对象(返回的Set视图中的Entry)的key
            String value=entry.getValue();//获取当前迭代Entry对象的value
            System.out.println(key+"="+value);
            entry.setValue("1");//在此替换当前迭代对象的Value,将映射到HashMap<String,String>
        }
        System.out.println("===========================");
        //对Set视图的编辑会反应到Entry
        for(Entry<String,String> entry:set){
            //每个Entry就是map中的一个key及其它对应的value被重新封装的对象
            for(String key:hs.keySet()){
                System.out.println(key+"="+hs.get(key));
            }
        }
    }
    
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年01月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Map.putAll()
  • 2. HashMap.entrySet()
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档