zoukankan      html  css  js  c++  java
  • 19映射


    • public interface Map<K,V>
      映射键到值的对象。一张Map不能包含重复的键,每个键可以映射到至多一个值。
    • K--键     V---值     由键得到值,键不能重复,值可以重复,把这一对数据(键和值)统称为键值对
    • 。一个映射是由多个键值对组成的

    为了方便操作键和值,就把键值对抽取成了一个类--Map.Entry,Entry对象都是具体的键值对,一个映射可以有多个Entry对象组成

        public static void main(String[] args) {
            //创建映射对象
            Map<String, Integer> map=new HashMap<>();
            //添加元素
            map.put("a", 1);
            map.put("b", 2);
            map.put("c", 3);
            map.put("d", 4);
            //重复键--覆盖
            //map.put("a", 6);
            //判断映射是否包含键
            System.out.println(map.containsKey("c")); //true
            //判断是否包含值
            System.out.println(map.containsValue(7)); //false
            //把映射中的键值对(Entry对象)存放Set集合中进行返回
            //Set<Map.Entry<String, Integer>> s=map.entrySet();
            //根据键获取值---键不存在返回null
            System.out.println(map.get("u")); //null
            //返回的把所有的键存放到Set集合中
            Set<String> set=map.keySet(); 
            //根据键删除键值对
            map.remove("a");//{b=2, c=3, d=4}
            System.out.println(map);
            //删除键值对
            //同时满足才能删除
            map.remove("u", 3);//{b=2, c=3, d=4}
            System.out.println(map);
            //把映射的所有值存储到一个集合中进行返回
            Collection<Integer> c=map.values();
            //为什么上面用的是Set还这里还有个Collection,因为Set具有唯一性,所以用来存放key值刚刚好,key值也具有
            //不可重复性
            System.out.println(map); //{b=2, c=3, d=4}
            
        }

    根据键遍历映射 

        public static void main(String[] args) {
            ////创建映射对象
            Map<String, Integer> map=new HashMap<>();
            //添加元素
            map.put("a", 1);
            map.put("b", 2);
            map.put("c", 3);
            map.put("d", 4);
             
            //1.获取映射中所有的键
            Set<String> set=map.keySet();
            //遍历键
            //增强for循环
            for (String string : set) {
                //由键获取指定值
                System.out.println(string+"="+map.get(string));
            }
        }

    根据键值对获取对应的键和值

        public static void main(String[] args) {
            // 创建映射对象
            Map<String, Integer> map = new HashMap<>();
            // 添加元素
            map.put("a", 1);
            map.put("b", 2);
            map.put("c", 3);
            map.put("d", 4);
            
            //2.获取所有的键值对
            /*Set<Map.Entry<String, Integer>> set=map.entrySet();
            //遍历所有的键值对---遍历Set集合
            for (Entry<String, Integer> entry : set) {
                //每个entry就是具体的entry对象就是具体的键值对
                System.out.println(entry.getKey()+"="+entry.getValue());
            }*/
            //开发中
            for(Map.Entry<String, Integer> entry:map.entrySet()){
                //每个entry就是具体的entry对象就是具体的键值对
                System.out.println(entry.getKey()+"="+entry.getValue());
            }
        }

     获取到一个字符串每个字符出现的次数

        public static void main(String[] args) {
            //字符串
            String str="wehiugibI" ;
            //创建映射对象-----键代表字符  值代表字符出现的次数
            Map<String,Integer>map=new HashMap<>();
            //遍历字符串
            for(int i=0;i<str.length();i++)
            {
                //获取到每个字符
                //判断要存入的映射的字符是否已经包含了
                char c=str.charAt(i);
                if(map.containsKey(c+""))
                {
                    //获取上一个这个键对应的值再加1
                    map.put(c+"",map.get(""+c)+1);
                }
                else
                {
                    map.put(c+"",1);
                }
            }
            //遍历映射
    
            for (Map.Entry<String,Integer>entry:map.entrySet()) {
                //每个entry就是具体的entry对象就是具体的键值对
                System.out.println(entry.getKey()+"="+entry.getValue());
            }
    
        }

    b=1
    e=1
    u=1
    w=1
    g=1
    h=1
    i=2
    I=1

  • 相关阅读:
    IE10标准模式不支持HTC (Html Components) ,升级重写Htc原有代码之一: 自定义属性
    Javascript 数组使用方法总结(转载)
    IE6IE9兼容性问题列表及解决办法_补充之六:锁表头的JQuery方案和非JQuery方案。(不支持IE6,7,8)
    软件国际化总结之一:数字与字符串之间的格式化和转化处理
    测试当前IE浏览器文档模型版本的js代码(使用documenMode)
    IE6IE9兼容性问题列表及解决办法_补充之五:在IE9下, disabled的文本框内容被选中后,其他控件无法获得焦点问题
    《从程序员到软件设计师的标志》(2010/05/10)
    《需求是软件设计师永远的痛》(2010/05/13)
    EOM与软件设计师开场白(2010/5/07)
    《软件设计师与程序员之间的拥抱和摆脱》(20101/05/11)
  • 原文地址:https://www.cnblogs.com/xuwangqi/p/11224557.html
Copyright © 2011-2022 走看看