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,就不会新创建数组,而是使用传递进来的数组
         所以创建一个刚刚好的数组最优

  • 相关阅读:
    用js遍历生成数独可行数据(未优化版本)
    JS生成tips小工具
    Iframe使用
    二级指针作输入的三种内存模型
    货品的进出库模型
    约瑟夫问题
    vector
    CUDA并行简单加法
    第一个CUDA程序
    在Ubuntu下安装、配置和测试cuda[复制]
  • 原文地址:https://www.cnblogs.com/wdsthink/p/4372903.html
Copyright © 2011-2022 走看看