• map


    Map(很重要)、方法keySet、entrySet演示图解

    Map:一次添加一对元素。Collection一次添加一个元素。Map也称为双列集合,Collection集合称为单列集合。其实Map集合中存储的就是键值对,Map集合必须保证键的唯一性。
    常用方法:
    1.添加:value put(key,value);返回一个和key关联的值,如果没有返回为null。
    2.删除:void clear();清空map集合。value remove(key);根据制定的key翻出这个键值对。
    3.修改:boolean containsKey(key);
    boolean containsValue(value);
    boolean isEmpty();
    4.查询:value get(key);通过键获取值,如果没有该键返回null。当然可以通过返回null,来判断是否包含指定键。
    int size();获取键值对分个数。
    map中存储相同键时,会覆盖值

    keySet

    图解:

     
    keySet.png

    举例:
    取出map中的所有元素。原理,通过keySet方法获取map中所有的键所在的Set集合,再通过Set的迭代器获取到每一个键,再对每一个键通过map集合的get方法获取其对应的值即可。

    package com.vv.map.demo;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Set;
    
    public class MapDemo {
    
        public static void main(String[] args) {
            HashMap<Integer,String> map = new HashMap<Integer,String>();
            method(map);
            
        }
    
        private static void method(HashMap<Integer, String> map) {
            map.put(8,"zhaoliu");
            map.put(2,"zhaoliu");
            map.put(7,"xiaoqiang");
            map.put(6,"wangcai");
            
            Set<Integer> set = map.keySet();
            Iterator<Integer> it = set.iterator();
            while(it.hasNext()){
                Integer key = it.next();
                String value = map.get(it.next());
                
                System.out.println(key + ":" + value);
            }
            }
    
    }
    
    

    entrySet
    图解

     
    entrySet .png

    通过Map转成set就可以迭代,找到了另一个方法,entrySet,该方法将键和值的映射关系作为对象存储到了Set集合中,而这个映射关系的类型就是Map.Entry类型(k,v)

    package com.vv.map.demo;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    
    public class MapDemo {
    
        public static void main(String[] args) {
            HashMap<Integer,String> map = new HashMap<Integer,String>();
            method(map);
            
        }
    
        private static void method(HashMap<Integer, String> map) {
            map.put(8,"zhaoliu");
            map.put(2,"zhaoliu");
            map.put(7,"xiaoqiang");
            map.put(6,"wangcai");
            
            Set<Map.Entry<Integer, String>> set = map.entrySet();
            Iterator<Map.Entry<Integer, String>> it = set.iterator();
            while(it.hasNext()){
                Map.Entry<Integer, String> entry = it.next();
                Integer key = entry.getKey();
                String value = entry.getValue();
                System.out.println(key + ";;;;;;" + value);
            }
            
            }
    
    }
    
    

    只获取value时

    package com.vv.map.demo;
    
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    
    public class MapDemo {
    
        public static void main(String[] args) {
            HashMap<Integer,String> map = new HashMap<Integer,String>();
            method(map);
            
        }
    
        private static void method(HashMap<Integer, String> map) {
            map.put(8,"zhaoliu");
            map.put(2,"zhaoliu");
            map.put(7,"xiaoqiang");
            map.put(6,"wangcai");
            
            Collection<String> values = map.values();
            Iterator<String> it = values.iterator();
            while(it.hasNext()){
                System.out.println(it.next());
            }
            }
    }

    转载至https://www.jianshu.com/p/430506b19b0d
  • 相关阅读:
    ise与win8兼容解决方案
    总线带宽(转整理)
    AHB 总线问答(转)
    git status简介
    浏览器允许的并发请求资源数是什么意思?
    How to use Request js (Node js Module) pools
    socket.setNoDelay([noDelay]) 用的是Nagle算法
    nodejs 如何使用upgrade,并且C/B 发送消息
    Node.js how to respond to an upgrade request?
    What is an http upgrade?
  • 原文地址:https://www.cnblogs.com/jinlang/p/14117026.html
Copyright © 2020-2023  润新知