Java集合--list接口

list是一个接口,实现类:Arraylist,Vector,Linkedlist

list接口:

常用方法

排除Collection中具有的之外的

添加功能

void add(int index, E element):在指定位置添加元素

boolean addAll(int index, Collection<? extends E> c):在指定位置添加一组元素

判断功能

int indexOf(Object o):查找某个元素所在位置

int lastIndexOf(Object o):元素最后一次出现位置。

获取功能

E get(int index):根据下标获取元素

int size():返回集合的元素个数

List<E> subList(int fromIndex, int toIndex):根据下标获取指定返回内的元素,返回一个新的集合

修改功能

E set(int index, E element):修改某个位置的元素,返回被修改元素。

E remove(int index):根据索引删除元素,返回被删除的元素。

特定迭代器

ListIterator<E> listIterator():获取列表迭代器,开始位置0

ListIterator<E> listIterator(int index):获取从指定位置开始的迭代器

ListIterator

List集合特有的迭代器,在Iterator的基础上进行了增强,可以获取上一个元素,提供了以下方法:

boolean hasPrevious():是否有上一个元素

E previous():获取上一个元素

void add(E e):添加元素

void set(E e):用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)

void remove():从列表中移除由 next 或 previous 返回的最后一个元素(可选操作),而Iterator中只能替删除next()元素

int nextIndex():返回对 next 的后续调用所返回元素的索引。

int previousIndex():返回对 previous 的后续调用所返回元素的索引。

List的遍历

方法一:配合size()函数和get(index)函数使用for循环遍历

方法二:使用iterator迭代器遍历

方法三:使用ListIterator遍历。

ArrayList:

特点:

  1:大小可变

  2:底层实现是数组,默认容量为10

  3:扩容方式:原始容量+原始容量的一半

  4:new ArrayList<>()的时候容量为0,第一次添加(add)之后容量为默认容量,最开始的时候存放数据的数组为{ }

  5:线程不安全,读写块,插入或者删除效率低

  6:迭代器是快速失败的

Vector:

特点:

  1:大小可变

  2:底层实现是数组,默认容量为10

  3:扩容方式:原始容量的2倍(如果使用public Vector(int initialCapacity, int capacityIncrement)来构造Vector,扩容方式为当前容量+capacityIncrement。new Vector<>()的时候就变为默认容量)

  4:线程安全,读写快,插入,删除效率低

  5:由于效率低下,很少被使用,如果需要使用线程安全的数组,可以使用Vector来代替

  6:迭代器是快速失败的

LinkedList:

特点:

  1:底层是双向链表

  2:线程不安全

  3:查询效率低,随机插入和删除快

原文地址:https://www.cnblogs.com/niexinlei/p/9688072.html

时间: 2024-08-06 20:11:23

Java集合--list接口的相关文章

Java集合Map接口与Map.Entry学习

Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) 添加.删除操作: Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像.如果该关键字已经存在,那么与此关键字相关的新值将取代旧值.方法返回关键字的旧值,如果关键字原先并不存在,则返回null Object remove(Object

java集合Collection接口

collection集合 Map集合 Collection接口 Collection接口是List.Set和Queue接口的父接口,该接口里定义的方法既可用于操作Set集合,也可用于操作List和Queue集Collection提供了大量添加.删除.访问的方法来访问集合元素.主要的方法如下:

Java集合——Set接口

1.定义 set中不允许放入重复的元素,使用equals()方法进行比较.如果返回true,两个对象的HashCode值也应该相等 2.方法 add():添加元素 remove():移除指定元素 ....... TreeSet中常用的方法: first():返回第一个元素,last返回最后一个元素 lower():返回指定元素的上一个元素,higher():指定元素的下一个元素 SortedSet接口的subSet(a,b):返回指定区域的元素,范围为[a,b) SortedSet接口的head

Java集合-07Map接口及其抽象类

简介 前面把List基本记录完了,对于集合List,Map,Set,因为Set基于Map,故先记录Map. 这一篇主要记录Map接口及其抽象类(java version:1.8) 整体架构 参考上图,整体分析如下 Map 映射接口,定义了存储内容为键值对(key-value)及map的基本操作方法 AbstractMap 该抽象类对Map接口有了整体的实现,简化实现Map接口所需要的工作 SortedMap 该接口更一步的对key提供了一个排序,该Map通过Comparable针对keys提供了

Java集合——List接口

1.定义 List是Collection的子接口,元素有序并且可以重复,表示线性表. 2.方法 boolean add(E e):在列表末添加元素 void add(int index, E e):在指定索引处添加元素 boolean addAll(int index, Collection e):在指定索引处放入集合 Object get(int index):获取指定索引的元素 int indexOf(Object o):获取指定元素在集合中的索引(第一次出现的元素) int lastInd

Java集合Colleciton接口

概述(本节内容最好记下来,随时能用,随口能讲,随手能写): 1,Collection集合顶级父类,继承Iterable(可迭代接口). 2,方法:add.addAll.clear. 一,首先看一下Collection的定义 public interface Collection<E> extends Iterable<E>从定义中我们可以看出Collection是一个带泛型的接口.实现了Iterable接口,也就是说可以使用迭代器.以上两点很重要,其下所有子类均有这两个属性. 二,

Java集合——Map接口

1.定义 Map用于保存存在映射关系<key,value>的数据.其中,key值不能重复(使用equals()方法比较),value值可以重复 2.方法 put(key,value):添加元素 get(Object key):获取指定key的元素 keySet():返回指定对象key的集合 values():返回指定对象value的集合 remove(Object key):移除指定key的元素,并且返回对应值的引用 entrySet():返回映射中包含映射关系的视图 3.常用实现类 Hash

Java集合框架--List、Set、Map

Java集合框架接口和类的层次结构: java.util.Collection [I] +--java.util.List [I] +--java.util.ArrayList [C] +--java.util.LinkedList [C] +--java.util.Vector [C] +--java.util.Stack [C] +--java.util.Set [I] +--java.util.HashSet [C] +--java.util.SortedSet [I] +--java.u

Java集合博客的导航 java集合框架学习路线

一.java集合Collection和Map的概述(http://www.cnblogs.com/escore/p/6931369.html) 二.java集合Collection接口详解(http://www.cnblogs.com/escore/p/6931374.html) 三.java集合Collection的List ArrayList LinkedList 区别(http://www.cnblogs.com/escore/p/6938650.html)