2023-11-25

发布时间 2023-11-25 21:33:43作者: 神烦狗~

2023-11-25

Map接口和常用方法

Map接口实现类的特点

  1. Map和collection并级
  2. Map用于保存具有映射关系的数据(Key——Value)
  3. Map中的Key和Value可以是任何引用类型的数据,会封装到HashMap$Node对象中
  4. Map中的Key不能重复(原因和HashSet一样)(当又相同的Key时相当于替换)
  5. Map的Key可以为null,Value也可以为null(Key为null时也只能有一个)
  6. Key和Value之间存在单向一对一关系,即通过Key总能找到对应的Value

Map的体系继承图

image

Map常用方法

image

Map接口遍历方法

image

第一组方法:取出所有Key

image

第二组方法:取出所有Values

image

第三组方法:通过EntrySet获取k-v

image

HashMap底层机制

image

扩容机制(和HashSet相同)

imageHashtable底层机制

基本介绍

  1. 存放的元素是键值对,即k-v
  2. Hashtable的健和值都不能为null
  3. 使用方法基本与HashMap相同
  4. Hashtable是线程安全的,HashMap是线程不安全的

扩容机制

image

Hashtable和HashMap比较

image

properties基本介绍

  1. Properties继承自Hashtable并且实现了Map接口,也是使用键值对存储数据
  2. 特点和HashSet相似
  3. Properties还可以用于从xxx.properties文件中,加载数据到properties类对象,并进行读取和修改
  4. xxx.properties文件通常作为配置文件

开发中如何选择集合实现类

image

TreeSet底层机制

image

TreeMap底层机制

和TreeSet类似

Collections工具类

Collections介绍

  1. Collections是一个操作Set,Map,List等集合的工具类
  2. Collections提供了一系列的静态方法对集合元素进行操作

操作

排序操作

  • reverse(List) 反转List中的元素顺序
  • shuffle(List) 对List集合中元素进行随机排序
  • sort(List) 根据元素自然顺序对List元素进行升序排序
  • sort(List,Comparator) 根据Comparator产生的顺序对List元素进行排序
  • swap(List,int,int) 将指定List集合中的i处元素和j处元素进行交换

查找和替换操作

  • Object max(Collection) 根据元素的自然顺序,返回集合中最大的元素
  • Object max(Collection,Comparator) 根据Comparator指定的顺序,返回集合中最大的元素
  • Object min(Collection) 根据元素的自然顺序,返回集合中最小的元素
  • Object min(Collection,Comparator) 根据Comparator指定的顺序,返回集合中最小的元素
  • int frequency(Collection,Object) 返回指定集合中指定元素出现的次数
  • void copy(List dest,List src) 将src中的内容复制到dest中
  • boolean replaceAll(List list,Object oldVal,Object newVal) 使用newVal替换List中所有oldVal