collection下的常用数据结构

1.collection

是一个接口,它实现于interable父亲接口。在collection接口底下又能实现好多接口:list queue set
在这里插入图片描述

2.List

  • list是一个接口,它实现于cllection。
    在这里插入图片描述

  • 它能实现的类是:ArrayList LinkedList vector stack 等类
    在这里插入图片描述
    在这里插入图片描述

3.ArrayList

在这里插入图片描述

(1)要是没有无参构造函数的话,默认是空的数组,长度是0
在这里插入图片描述

(2)要是是传参的构造函数
在这里插入图片描述
(3)有元素插入,就可能进行扩容。要是元素的个数小于初始10长度,就不管。要是大于的话,就进行扩容。是1.5倍进行扩容的
在这里插入图片描述
(4)在插入元素的时候,要是头插就是0(1),i号位置的插入时O(N - i)。
(5)支持按照下标进行访问,能进行快速查找
(6)不同步的,线程不安全的
在这里插入图片描述
(7)它只能容纳对象,不能容纳基本数据类型,这也就是为啥里边的参数是一个泛型,在用的时候我们一直填的是Interger而不是int。

4.LinkedList

在这里插入图片描述

(1)是基于双向链表实现的
在这里插入图片描述
(2)是链表,不牵扯扩容机制
(3)不支持随机访问元素下标,要是查询只能进行遍历
(4)因为有节点,插入删除效率高,时间复杂度是O(1)
(5)不同步,也是线程不安全的,原因是里边也是牵扯到-- 操作。

5.Array

在这里插入图片描述

(1)表示的是数组,它是用final修饰的一个类
(2)既能存放基本数据类型,也能存对象
(3)使用的时候要指定大小

6.stack

(1)继承的类
在这里插入图片描述
(2)常用方法(push,pop,peek)
push 方法,表示的是入栈操作。
在这里插入图片描述
pop操作,表示的是出栈操作,栈的内容实际减少了
在这里插入图片描述

peek操作,只是查看栈顶元素,栈里边的元素没有发生变化
在这里插入图片描述
(3)特点
先进后出的,栈只能在一段进行操作。
遍历方式是BFS。

7.queue

(1)是一个接口,实现自collection接口
在这里插入图片描述

linkedlist能new一个队列
在这里插入图片描述
(2)常用方法
入队操作(add方法和offer方法)

add要是操作错误会抛异常
offer会返回特殊值

出队操作(remove方法和poll方法),前者会抛异常,后者会返回特殊值

取队首元素(element和peek方法),前者是抛异常,后者是返回特殊值。
(3)先进先出的,能在两端进行操作
(4)遍历方式是DFS

8.collection和collections的区别:

collection
在这里插入图片描述

是一个集合框架的父类的接口,它的底下可以有很多的子接口,如:list接口,queue接口,set接口。

collections
首先collections是一个包装类,继承自object类。不能被实例化。
在这里插入图片描述

9.上一张collection接口的图

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值