Java复习Day24

Map

1.1 简介

Map接口:

  • 存储键值对对象
  • 是独立顶级接口,不属于Collection子接口

1.2 HashMap

特点:

  • 采用哈希算法存储数据
  • 键不可重复,值可重复
  • 无序存储,后插入的重复键会覆盖前值
  • 默认初始容量16,负载因子0.75

常用方法:

  • put(key,value):添加键值对
  • get(key):获取指定键的值
  • containsKey(key):检查键是否存在
  • containsValue(value):检查值是否存在
  • remove(key):移除指定键的元素
  • remove(key,value):移除指定键值对
  • size():获取元素数量
  • isEmpty():判断是否为空
  • putAll(map):合并Map
  • replace(key,value):替换指定键的值

遍历示例:

Set> entries = map.entrySet();
for (Map.Entry entry : entries) {
    System.out.println(entry.getKey()+"\t"+entry.getValue());
}

1.3 LinkedHashMap

  • 继承自HashMap
  • 特点:有序存储,键唯一,值不唯一

1.4 TreeMap

  • 基于树结构实现
  • 自动按key升序排列

1.5 Hashtable

与HashMap的区别:

特性 HashMap Hashtable
实现版本 JDK1.2 JDK1.0
线程安全 不安全 安全
null值 允许 不允许
初始容量 16 11
扩容方式 capacity*2 capacity*2+1
数据结构 数组+链表+红黑树 数组+链表
哈希计算 二次哈希 直接取模

你可能感兴趣的:(java,开发语言)