2021-11-09

28 篇文章 0 订阅

List接口

List集合特点:有序(有下标)可重复,可以通过下标遍历(循环)。

List接口特有、常用方法:

add(int index,Object o)  //向集合指定位置添加元素,效率较低

get(int index)            //通过下标获取元素

indexOf(Object o)        //获取指定对象第一次出现的索引

lastIndexOf(Object o)     //获取指定对象最后一次出现的索引

remove(int index)        //根据下标删除元素

set(int index,E element)  //修改指定位置的元素

ArrayList

默认初始化容量是:10(底层先创建一个·长度为0的数组,添加第一个元素的时候,容量为10)

集合底层是Object[ ]数组

ArrayList的自动扩容扩大到原来的1.5倍(例如:初始容量10,扩容一次后为15)

ArrayList集合的增删效率低,但是从末尾添加元素效率很高,检索即查找效率高。

注意:size()方法是获取集合元素个数,不是集合容量

        所有集合中,使用率最高的集合时ArrayList集合

单向链表数据结构

单向链表的基本单元为“节点(Node)”,每一个节点都有两个属性:数据下一个节点的地址。单向链表的末尾节点的属性是收据和null。

链表的优点:

       随机增删元素时,不会有大量的元素位移,因此效率较高

链表的缺点:

       每次查找查询都要从头节点开始寻找,直到找到为止,所有效率比较低

      

LinkedList

双向链表的节点有三个属性:上个节点的内存地址,数据和下个节点的内存地址

LinkedList没有初始化容量,LinkedList最初没有任何的元素,first和last都是null

Vector

底层也是一个数组,初始容量为10

Vector的自动扩容扩大到原来的2倍(例如:初始容量10,扩容一次后为20)

Vector中的方法都是线程同步的(线程安全),synchronized

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值