zoukankan      html  css  js  c++  java
  • Map

    • 地图,和实际地点有映射关系
    • 内置对象Entry,包含两个元素
    • 单项一对一的关系
    • 大词典,可以根据相应的键来找到值
    • 方法
      • Object put(Oject key,Object value)
      • Object remove(Object key)
      • void putAll(Map t)
      • void clear()
      • Ojbect get(Object key) //查词典
      • boolean containsKey(Object value)
      • Set getSet();
      • Collection values()
      • set entrySet()
      • 更多方法参考api文档。
    • 实现子类
      • HashMap
        • 哈希算法实现,和treeSet有相似之出
          • 使用哈希算法来计算地址偏移量,偏移到具体的地址,若无数据,则添加,若有数据,则构建红黑树,若当数据达到数组的3/4的时候进行扩容,所有map里的元素重新排列分布,当内存充裕的时候可极大提高效率
        • Hashtalbe 较老的的版本,效率较低
        • Properties 类,管理配置文件
          • 属性key和value都是string
          • 一般用于配置文件
          • getProperties(key)
      • TreeMap
        • 键值实现自然排序,所有前提是key必须是可比对象。(和treeset不同的是treeset可以通过传入的自定义比较器,来让对象可比,treemap不具此特性)
      • LinkedMap
    • 遍历方式
      • foreach, foreach内置遍历机制可以遍历collection。
        • Set getSet(); //map把key包装成set,通过foreach遍历
        • Set entrySet(); //map把键值对包装成entry(内置类),通过foreache遍历
      • Iterator, 集合实现类Iterator接口,可以通过生成迭代器来遍历
        • 同上
      • 比较,
        • foreach代码更简洁,从1.5开始foreach出现,是比较新的遍历器,但底层是用迭代器实习
        • Iterator一开始的map唯一遍历方式,更安全,更可靠,但是代码略臃肿
  • 相关阅读:
    网络编程(四)
    网络编程(三)
    网络编程(二)
    网络编程(一)
    异常处理
    Python 的名称空间和作用域
    如何在Java 8中愉快地处理日期和时间
    线段树入门整理、
    最小生成树prim、
    <climits>头文件
  • 原文地址:https://www.cnblogs.com/refengqingfu/p/9979047.html
Copyright © 2011-2022 走看看