---> HashMap :底层基于哈希表
      存储原理也使用哈希表来存放的:
            往HashMap添加了元素 ,首先会调用键的hashCode方法 获得一个哈希值,然后经过运算获取一个位置。
            情况1:如果位置上没有元素 ,那么直接将该元素存放在此位置。
            情况2:如果位置上有了元素,那么还会调用元素equals方法与这个位置的元素做比较,如果反回回来的true,
            那么就被视为相同的键,就不存,如果返回回来时false,那么就可存该元素。
         
      ---> TreeMap : 给予二叉树的结构存储。 特点:以键来做自然排序
           使用注意点:
              1.往TreeMap 添加的元素时,如果元素的键具备自然排序功能,那么就会通过自然排序对元素进行排序。
              2.往TreeMap 添加的元素时 如果不具备自然排序特性 ,键所属的类必须要实现Comparable接口,把这个键的比较规则
              定义在compareTo方法中。
              3.往TreeMap 添加的元素时 如果不具备自然排序特性,也没有实现Comparable接口,创建TreeMap的时候给他一个比较器
              结构 :
                class 类名  implements Compartor 接口{
               
                }
               
                键的比较规则定义在compare方法中。
           
      ---> HashTable : HashMap 一样的使用,线程安全。  访问比较慢  (了解)

   --->Map集合的便利方式(三种)

   map遍历元素方式一: keySet(); Set视图  -->获取所有的键用Set集合来保存
        特点 : 通过遍历键 ,通过键来取值
        Set<String> set = map.keySet();  
        Iterator<String> it = set.iterator();
        while(it.hasNext()){
            
            String key = it.next();
            System.out.println("键"+key +":值"+map.get(key));
        }

  map集合遍历方式二: values(); 获取map集合中所有的值,用Collection集合来保存
        Collection<String> coll = map.values();
        创建一个迭代器
        Iterator<String> it = coll.iterator();
        while(it.hasNext()){
            
            System.out.println("值:"+it.next());
            
        }

  map集合的遍历方式三:entrySet();
        Set<Map.Entry<String, String>> entrys = map.entrySet();
        获取迭代器
        Iterator<Map.Entry<String, String>> it = entrys.iterator();
        
       
         Map.Entry : 接口  :提供给用户来操作map集合
           getKey(); 获取键
           getValue();获取值
           setValue();更改值
        
        
        while(it.hasNext()){
            
            Map.Entry<String, String> entry = it.next();
      
            String key = entry.getKey();
            if(("1").equals(key)){
                
                entry.setValue("哈哈");
            }
            
            System.out.println("键:"+entry.getKey() + " 值:"+entry.getValue());
        }

Map集合的应用及其遍历方式的更多相关文章

  1. Map集合的两种遍历方式

    Map集合:即 接口Map<K,V> map集合的两种取出方式:    1.Set<k> keyset: 将map中所有的键存入到set集合(即将所有的key值存入到set中) ...

  2. Map集合的几种遍历方式

    Map<String ,String> map=new HashMap<String,String>(); map.put("1","value1 ...

  3. Map集合的四种遍历方式

    很久以前写的代码,和上一个做比较吧!便于以后查看 import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...

  4. Map集合的四种遍历方式(转载)

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap { pu ...

  5. Map集合的4种遍历方式

    import java.util.HashMap;import java.util.Iterator;import java.util.Map; public class TestMap {    p ...

  6. Map集合的两种取出方式

    Map集合有两种取出方式, 1.keySet:将Map中的键存入Set集合,利用set的迭代器来处理所有的键 举例代码如下: import java.util.*; class Test { publ ...

  7. Java中List集合的三种遍历方式(全网最详)

    List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍. 我总结了三种List集合的遍历方式,下面一一来介绍. 首 ...

  8. Map集合的四种遍历

    Map集合遍历 Map<String,Integer> m = new HashMap<String,Integer>(); m.put("one",100 ...

  9. Map<String,String>集合的四种遍历方式 其中有一种针对大容量的数据集合

随机推荐

  1. 【4412嵌入式开发板学习笔记】认识uboot

    转自迅为讨论群:http://www.topeetboard.com 重要说明:这份笔记不是4412开发配套的,是我在网上看视频的时候下载上课老师的笔记后修改的.所以我试了一下笔记上的uboot命令, ...

  2. 白话debounce和throttle

    遇到的问题 在开发过程中会遇到频率很高的事件或者连续的事件,如果不进行性能的优化,就可能会出现页面卡顿的现象,比如: 鼠标事件:mousemove(拖曳)/mouseover(划过)/mouseWhe ...

  3. 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)

    A 思路: 贪心,每次要么选两个最大的,要么选三个,因为一个数(除了1)都可以拆成2和3相加,直到所有的数都相同就停止,这时就可以得到答案了; C: 二分+bfs,二分答案,然后bfs找出距离小于等于 ...

  4. AC日记——红与黑 codevs 2806

    2806 红与黑  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 白银 Silver 题解  查看运行结果     题目描述 Description 有一个矩形房间,覆盖正方形瓷 ...

  5. 用jsmooth + inno生成exe并制作简单安装包

    思路: 先由 Jsmooth把jar和相关资源打包生成exe,再由Inno把exe和资源文件打成安装包 一  Jsmooth 1 下载 安装 Jsmooth   地址:jsmooth.sourcefo ...

  6. c# winforms TextBox的记忆功能

    c# winforms TextBox的记忆功能 1:在项目上点右键  sproperties-settings 添加项目 如 MyText  类型 String 2: 获取值:   string l ...

  7. marquee标签、插入百度地图

    marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee标记不仅可以移动文字,也可以移动图片,表格等. 语法:<marquee>... ...

  8. PHP 文章实现内链

    下面说说我初步实现的方法: 1.用程序批量生成关键词和链接对应的库或手动添加关键词和链接库(库可以用数组的格式以文件的形式存储) 2.在view页面输出内容时执行查找替换的操作.上代码吧 <?p ...

  9. java 24 - 3 GUI之添加按钮

    需求:把按钮添加到窗体,并对按钮添加一个点击事件. A:创建窗体对象 B:创建按钮对象 C:把按钮添加到窗体 D:窗体显示 注意:这里对按钮添加点击事件,同样使用监听器. 但是,这里的按钮是组件,所以 ...

  10. 关于codeMirror插件使用的一个坑

    codeMirror插件可以做语法高亮渲染,但它操作过程是这样的:先从 textarea中读取值放到codemirror动态生成的div中,根据textarea中的换行个数确定行数,根据正则表达来高亮 ...