zoukankan      html  css  js  c++  java
  • 黑马程序员——java集合框架(Map和工具类)

    1.Map体系下有三个子类:

    HashMap
        底层是哈希表数据结构,可以存入null键和null值,不同步
    ---TreeMap
        底层是二叉树数据结构,线程同步,可以用于给map集合中的键进行排序

    和Set很像,Set底层是Map
      
    添加元素时,如果出现相同键,那么厚添加的值会覆盖原有键对应的值,并且put方法会返回被覆盖的值

    2.map集合的两种取出方式:
      (1) keySet():将map中所有的键存入到Set集合,因为set具备迭代器
                     可以以迭代方式取出所有的键,再根据get()方法获得每一个键对应的值
           Map集合的取出原理:将map转化为set,再通过迭代取出
      (2)EntryMap():返回Map的关系映射  Set<Map.Entry<K,V>>

          Map.Entry其实是一个接口,他是Map接口中的一个内部接口

    3.两个集合工具类:Collections,Arrays

    (1)Arrays工具类的asList()方法
    asList:将数组转化为List集合,可以使用集合的思想和方法操作数组中的元素

    注意:将数组转变为集合,不可以使用集合的曾珊方法,因为数组的长度是固定的
          
         如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转化为集合中的元素
         如果数组中的元素搜之基本数据类型,那么会将该数组作为集合中的元素存在

    (2)集合转化为数组
       指定类型的数组待敌要定义多长呢?
         当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组,长度为集合的size
         当指定类型的数组长度大雨了集合的size,就不会新创建数组,而是使用传递进来的数组
         所以创建一个刚刚好的数组最优

  • 相关阅读:
    DataGrip破解,汉化. 再见navicate, 再见sqlyog
    centOS安装JIRA 破解版 亲测
    centOS yum 安装 JDK
    CentOS No manual entry for xxx 没有手册文档
    idea集成JRebel热部署破解
    springboot 拦截器取不到 ajax跨域请求的header参数
    centOS安装ELK
    产品经理的”影响力“
    系统设计的一些心得
    EXIF.Js:读取图片的EXIF信息
  • 原文地址:https://www.cnblogs.com/wdsthink/p/4372903.html
Copyright © 2011-2022 走看看