JAVA集合总结

本文深入解析Java集合框架,包括Collection、List、Set、Map接口及其核心实现类的特点与应用场景。探讨ArrayList、LinkedList、HashSet、TreeSet、HashMap等类的底层数据结构与线程安全性,帮助开发者理解集合类的选择与使用。
摘要由CSDN通过智能技术生成

Collection集合体系的关系图
在这里插入图片描述
其中,Collection接口的父接口是Iterable,它所存的对象类型均为Object
List接口:是有序的,其元素是可以重复的。
Set接口:是不一定有序的,其元素是不可以重复的。
List接口的实现类:

  1. ArrayList:底层实现是静态数组,默认的初始化空间为10,在移除或者添加元素时不方便,所以要尽量闭避免内存的重新分配,可以系列化。线程不安全,运行快。
  2. LinkList:底层实现是链表,所以在添加或移除某个元素时方便。
  3. Vector:底层实现是静态数组,线程安全,运行慢。
    这三个实现类均“查询快,增删慢

Set接口的实现类

  1. HashSet::使用了 HashMap<key,value> 中的所有key值,来保证唯一性
    当自定义类型存放于HashSet中时,为保证元素内容不重复,必须覆盖hashcode()方法和equals()方法。
  2. TreeSet:是SortedSet的实现类,而SortedSet是Set子接口,默认按自然排序排列
    当自定义类型存放于TreeSet集合中时,对元素自动排序,则要求元素对象必须实现Comparable接口,覆盖compareTo方法,指定排序规则

Map接口:用于存放任意键值对,哈希散列接口
键:无序,无下标,不能重复
值:无序,无下标,可以重复
map接口的实现类

  1. HashMap:是哈希散列: 底层数据结构是“静态数组+红黑树",线程不安全,允许用null作为key或是value。
    Properties: Hashtable的子类,要求key和value都是String。通常用于配置文件的读取
  2. HashTable线程安全。
    注意:
    Properties:实现了SortedMap接口(是Map的子接口),可以对key自动排序。
    TreeMap: 实现了SortedMap接口(是Map的子接口),可以对key自动排序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值