摘要:

  List 是 Java Collection Framework的重要成员,详细包括List接口及其全部的实现类。由于List接口继承了Collection接口,所以List拥有Collection的全部操作。

同一时候。又由于List是列表类型,所以List本身还提供了一些适合自身的方法。ArrayList 是一个动态数组。实现了数组动态扩容,随机訪问效率高;LinkedList是一个双向链表,随机插入和删除效率高,可用作队列的实现。


一. 要点

  1. List 基础特性与框架
  2. ArrayList :动态数组
  3. 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) 返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置開始

posted on
2017-08-17 18:45 
cynchanpin 
阅读(...) 
评论(...) 
编辑 
收藏

Java Collection Framework : List的更多相关文章

  1. java collection framework

    java collection framework Map

  2. Java Collection Framework概述

    文章出自:听云博客 Collection概述 Java collection是java提供的工具包,包含了常用的数据结构:集合.链表.队列.栈.数组.映射等. Java集合主要可以划分为4个部分:Li ...

  3. 集合框架(JCF/Java Collection Framework)

    集合的特点:1.数据的类型可以不同2.集合长度可变3.空间不固定集合也是对象,用于检索,存储以及传输对象集合框架的组成Collection接口和Map接口 Collection是Set接口和List接 ...

  4. 设计: ListView 接口,and the missing read-only interfaces in java collection framework

    Java的集合框架以其成功易用的设计征服了很多人(包括我),并且教科书式的诠释了泛型的应用方式. 我也是被 Joshua Bloch 的书引领入门,从中得益良多.我当然不会认为自己在设计上比他懂得更多 ...

  5. Java Collection Framework 备忘点

    最顶端是两个接口,集合和映射——  Collection<T>  /  Map<K, V> List 列表 保持插入顺序 ArrayList 擅长随机读 LinkedList ...

  6. Java Collections Framework知识结构目录

    The core collection interfaces are the foundation of the Java Collections Framework. The Java Collec ...

  7. 【DataStructure】The description of Java Collections Framework

    The Java Connections FrameWork is a group of class or method and interfacs in the java.util package. ...

  8. (一)一起学 Java Collections Framework 源码之 概述

    . . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述 JDK 中很多类 LZ 已经使用了无数次,但认认真真从源码级研究过其原理的还只占少数,虽然从 ...

  9. (二)一起学 Java Collections Framework 源码之 AbstractCollection

    . . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述(未完成) (二)一起学 Java Collections Framework 源码之 Abs ...

随机推荐

  1. 让HTML5来为你定位(转)

    add by zhj: HTML5的地理定位返回的应该都是GPS坐标,即WGS-84坐标,参见Map Types - Google Maps JavaScript API v3 本文使用的是Chrom ...

  2. 002.FTP配置项详解

    一 相关配置项 anonymous_enable=YES #允许匿名用户登录 local_enable=YES #允许本地用户登录 write_enable=YES #允许本地用户上传 local_u ...

  3. spring@PropertySource用法

    测试例子 package com.hjzgg.auth.config; import org.springframework.beans.factory.annotation.Autowired; i ...

  4. Odoo创建基础模块和相关内容

    Odoo创建模块 这里我先引用一下几篇文章,这里完整的实现了一个odoo的模块创建demo https://segmentfault.com/a/1190000014047552 https://se ...

  5. SpringMVC(九) RequestMapping请求参数

    通过在控制器方法中使用@RequestParam(value="参数名",require=true/false,defaultvalue="")的方式,使在UR ...

  6. 无线网卡服务端工具airserv-ng

    无线网卡服务端工具airserv-ng   由于WiFi信号强度的限制,渗透测试人员只能监听主机周边范围的无线信号.为了解决这个问题,aircrack-ng套件提供了一个无线网卡服务端工具airser ...

  7. android 自定义view android onmeasure onlayot ondraw

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android onmeasure onlayot ondraw 顺序 ====== 1 ...

  8. Codeforces Round #368 (Div. 2) A. Brain's Photos 水题

    A. Brain's Photos 题目连接: http://www.codeforces.com/contest/707/problem/A Description Small, but very ...

  9. ueditor上传图片设置的简单实例

    0.前言:我用过ckeditor,kingeditor还是感觉ueditor最好用,功能强大,经常更新.之前因为升级了struts2到2.5的了,原本的kingeditor已经不能共存,于是找到了ud ...

  10. Slickflow.NET 开源工作流引擎高级开发(一) -- 流程外部事件的调用和变量存储实现

    前言:流程实现基本流转功能外,通常也需要调用外部事件,用于和业务系统的交互,同时存储一些流程变量,用于追踪和记录业务数据变化对流程流转的影响. 1. 流程事件 流程执行过程中,伴随各种事件的发生,而且 ...