JAVA数据结构一之集合框架

本文介绍了Java集合框架的基础概念,详细解析了Collection、List、Set等核心接口及其具体实现类如ArrayList、LinkedList、HashSet等的特点与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集合是Java语言中比较重要的结构之一。接下来针对学习基础人员进行简单的讲解:

Java最顶级集合接口Collection ,它继承了Iterable<E> ,大家都知道Iterable 接口有一个方法就是迭代器Iterator<T> iterator()。

二级集合接口分别为List和Set,他们都继承了Collection接口,下面分别介绍这两个接口:

   1、List 自己的接口详述:size(),boolean isEmpty()、boolean contains(Object o)等,当然它继承了Collection 所以也有迭代器Iterator<E> iterator();

    1.1 ArrayList是List的一种实现方式。它继承了AbstractList,同时也实现RandomAccess、Cloneable、Serializable。在AbstractList里面它是继承了AbstractCollection同时实现了List。ArrayList 每次初始化的时候会给List一个大小为10的默认值:  public ArrayList() {
        super();
        this.elementData = EMPTY_ELEMENTDATA;

    }

    ArrayList 比较适合于对数据的查询,因为它完全是基于数组来进行处理的。

   1.2LinkedList也实现了List、Deque<E>,、Cloneable,、Serializable接口同时继承了AbstractSequentialList。

AbstractSequentialList作为一个抽象类,它同时也继承了AbstractList。

    LinkedList比较适合于数据的增加和删除以及修改,链表结构的数组其效率更高。

  1.3Vector实现了List<E>、RandomAccess、 Cloneable、Serializable接口同时继承AbstractList。向量之所以是线程安全的,是因为在向量这类里面使用了synchronized来修饰方法。

2、Set有序的集合 在Set 内部是不存在相同的值得。在每次进行新增或者修改 都会生成一个Hash去找到这个位置 存入数据。

   2.1HashSet 实现了Set<E>、Cloneable, Serializable接口同时继承了AbstractSet。AbstractSet继承了AbstractCollection。它的代码里面定义的是Map :private transient HashMap<E,Object> map;

      2.2TreeSet 实现了NavigableSet<E>、Cloneable、Serializable接口同时继承来了AbstractSet,之所以TressSet是有序的 是因为它实现了NavigableSet而这个NavigableSet继承了SortedSet。

在后期会讲解树的结构 ,其底层实现也是基于TreeSet来做的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值