数据结构—List

本文介绍了List接口在集合框架中的角色,列举了其常见方法,重点讲解了顺序表(如ArrayList)的概念、物理结构以及如何使用数组实现顺序表。
摘要由CSDN通过智能技术生成

List

1.什么是List

在集合框架中,List是一个接口,继承自Collection(接口),从数据结构的角度来说,就是线性表。

2.List中常见接口

方法                                                                              解释

boolean add(E e)                                    尾插 e

void add(int index, E element)                       e 插入到 index 位置

  

boolean addAll(Collection<? extends E> c)            尾插 c 中的元素

E remove(int index)                                 删除 index 位置元素

boolean remove(Object o)                            删除遇到的第一个 o

E get(int index)                                    获取下标 index 位置元素

E set(int index, E element)                         将下标 index 位置元素设置为 element

void clear()                                        清空

boolean contains(Object o)                          判断 o 是否在线性表中

int indexOf(Object o)                                返回第一个 o 所在下标

int lastIndexOf(Object o)                            返回最后一个 o 的下标

List<E> subList(int fromIndex, int toIndex)           截取部分 list

3.ArrayList与顺序表

(1)线性表:具有n个相同特性的数据元素的有限序列。常见的线性表:顺序表,链表,栈,队列……

线性表在逻辑上是线性结构,在物理结构上并不是连续的,在物理结构存储时,通常以数组和链式结构的形式存储。

(2)顺序表:一段物理地址连续的存储单元一次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。

如何实现一个顺序表?

代码如下:

public class MarryList implements lList{
    public int[] elem;
    //记录有效数据
    public int usedSize;
    //默认的容量
    public static final int DEFAULT_CAPACITY = 5;

    public MarryList() {
        elem =new int[DEFAULT_CAPACITY];
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值