集合-List

List 接口:继承Collection。一个 List实例存储一个有序集合的元素。可重复。

ListIterator listIterator()  返回类别列表迭代器
ListIterator listIterator(int index)  返回一个列表迭代器,并在指定位置开始访问元素。
List subList(int fromIndex,int toIndex)  返回指定开始位置(包含)和结束位置(不包含)的子列表。

ListIterator链表迭代器接口:继承Iterator接口。是一个双向迭代器。没有当前元素,它的光标所在位置位于next()和previous()返回值之间。
方法:
add(Object o)
 将o添加到集合,位置位于当前对象前
set(Object o)  设置next或previous方法访问上一个元素为o,但是如果上次访问后,列表结构被修改,抛出IllegalStateException异常。
hasPrevious()  返回向后迭代时是否有元素可以访问。
previous()  返回列表前一个元素。
nextIndex()  返回调用next方法所返回的元素索引。
previousIndex()  返回调用previous方法所返回元素的索引。

注:add()方法添加的元素会将游标指针放置前面,因此添加元素后再调用previous()方法才能返回新元素。
       ListIterator的remove()和set()方法不是针对当前游标的操作,而是对于最后一次调用next()或者previous()的操作。

ArrayList   与   LinkedList
如果只在两端操作数据,使用 LInkedList,否则用 ArrayList

LinkedList   
双向链表结构,两端效率高,下标遍历,效率低。
创建对象

//1.建立一个空链接列表。
LinkedList list = new LinkedList();
//2.建立一个由c中元素初始化的链接列表
LinkedList list = new LinkedList(Collection c);

方法:
void add(int index, Object o)  在指定位置插入数据
void addFirst(Object o)
 在列表头增加元素
void addLast(Object o)  在列表为部增加元素
Object get(int index)  获得指定位置的值
Object getFirst()  获得第一个元素
Object getLast()  获取最后一个元素
Object remove(int index)  移除指定位置的元素,并返回被移除的数据
Object removeFirst()   移除第一个元素,并返回被移除的数据
Object removeLast()  移除最后一个元素,并返回被移除的数据
Object set(int index, Object o)  设置指定位置的元素,并返回旧元素


ArrayList
内部用数组存放数据,数组存满,再放数据,容量 1.5 倍增长。访问任意位置效率高。
添加、删除数据,效率可能会降低。

创建对象

//1.建立一个空数组列表,默认容量是10。
 ArrayList list = new ArrayList(); 
//2.建立一个数组列表,初始容量是capacity。
 ArrayList list = new ArrayList(int capacity);
//3.建立一个由类c中元素初始化的列表。
 ArrayList list = new ArrayList(Collection c);
方法:
add(Object o)
 将指定元素追加到列表的最后。
add(int index,Object o)  将参数o表示的元素插入到此列表中index指定的位置。
addAll(Collection c)  将c中所有元素追加到此列表的尾部。 
remove(Object o)  将元素o从集合中移除,并返回被移除的元素
contains(Object o)  查看该集合中是否包含元素o。
size()  返回集合中存放的元素的个数。
clear()  移除该集合中的所有元素,清空该集合。
toArray()  将集合内的元素转存到数组后,返回该数组,类型是Object[]
<>T[] toArray(T[] t)  将集合内的元素转存到数组后,返回该数组,指定类型的数组。
isEmpty()  判断集合是否没有任何元素。
get(int index)  返回列表中指定位置的元素。
set(int index,Object o)  设置指定位置的元素,并返回旧元素
trimToSize()  将列表容量调整为该列表的当前大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值