摘要:
List 是 Java Collection Framework的重要成员,详细包括List接口及其全部的实现类。由于List接口继承了Collection接口,所以List拥有Collection的全部操作。
同一时候。又由于List是列表类型,所以List本身还提供了一些适合自身的方法。ArrayList 是一个动态数组。实现了数组动态扩容,随机訪问效率高;LinkedList是一个双向链表,随机插入和删除效率高,可用作队列的实现。
一. 要点
- List 基础特性与框架
- ArrayList :动态数组
- LinkedList : 双向链表
二. List 基础特性与框架
1、List 特色操作
List 包括 List接口 以及 List接口的全部实现类(ArrayList, LinkedList, Vector,Stack), 当中 Vector 和 Stack 已过时。
由于 List 接口实现了 Collection 接口(如代码 1 所看到的)。所以 List 接口拥有 Collection 接口提供的全部经常用法,同一时候,又由于 List 是列表类型,所以 List 接口还提供了一些适合于自身的经常用法。如表1所看到的。
// 代码 1
public interface List<E> extends Collection<E> { ... }
表1. List 特有的方法(以AbstractList为例说明)
Function | Introduction | Note |
---|---|---|
boolean addAll(int index, Collection<? extends E> c) | 将指定 collection 中的全部元素都插入到列表中的指定位置 | 可选操作 |
E get(int index)| 返回列表中指定位置的元素 | 在 AbstractList 中以抽象方法 abstract public E get(int index); 存在 | AbstractList 中唯一的抽象方法 |
E set(int index, E element) | 用指定元素替换列表中指定位置的元素 | 可选操作。set 操作是 List 的特有操作 |
void add(int index, E element) | 在列表的指定位置插入指定元素 | 可选操作 |
E remove(int index) | 移除列表中指定位置的元素 | 可选操作 |
int indexOf(Object o) | 返回此列表中第一次出现的指定元素的索引。假设此列表不包括该元素,则返回 -1 | 在 AbstractList 中默认实现;在 ArrayList,LinkedList中分别重写; |
int lastIndexOf(Object o) | 返回此列表中最后出现的指定元素的索引。假设列表不包括此元素,则返回 -1 | 在 AbstractList 中默认实现;在 ArrayList,LinkedList中分别重写; |
ListIterator<E> listIterator() | 返回此列表元素的列表迭代器(按适当顺序) | 在 AbstractList 中默认实现。ArrayList,Vector和Stack使用该默认实现。LinkedList重写该实现; |
ListIterator<E> listIterator(int index) | 返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置開始
从零开始部署小型企业级虚拟桌面 -- Vmware Horizon View 6 For Linux VDI -- 概念简介 怎样向IT行业的朋友说明《圣经》的重要性 关于爱剪辑、会声会影、美图秀秀 快速登录IRC网络聊天室 如何写一篇好的搭建教程 从零开始部署小型企业级虚拟桌面 -- Vmware Horizon View 6 For Linux VDI Oracle工程师技能树 论万金油的悲哀 自定义地图开发(一) Copyright © 2020-2023
润新知
|