java.util.ArrayList<E>有什么用??

java.util.ArrayList是一个列表类,它是用来存放其他Java对象,内部是通过数组来实现的。
只要是java对象就可以往ArrayList里面放
java.util.ArrayList内部是通过数组来实现的:
当数组容量不够的时候,会对数组容量进行扩容可以通过数组下标来快速的访问ArrayList里面的元素
 当新增或者删除ArrayList里面的元素时,可能会涉及到移位操作可以截取数组的子数组操作.
 定义如下:

1 public class ArrayList<E> extends AbstractList<E>
 2         implements List<E>, RandomAccess, Cloneable, java.io.Serializable{
 3     //fields
 4    
 5     //constructor
 6 
 7     //methods
 8 
 9     //inner class 'Itr'
10 
11     //inner class 'ListItr'
12 
13     //inner class 'SubList'
14 }

java.util.ArrayList的常见属性:

    //序列号
    private static final long serialVersionUID = 8683452581122892189L;
    //ArrayList实际存储元素的地方 
    private transient Object[] elementData;
    //ArrayList中存储的元素个数
    private int size;
    //ArrayList最多存储元素的个数
    private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
    //fast-fail失败机制标记
    protected transient int modCount = 0;

构造方法:
第一种:默认构造方法(无参数构造方法)

public ArrayList()

第二种: 带初始列表容量大小参数的构造方法

public ArrayList(int initialCapacity) 

第三种:带初始化子列表参数的构造方法

public ArrayList(Collection<? extends E> c)

常用方法:
修改操作:

boolean add(E e) 	将指定的元素添加到此列表的尾部
void add(int index,E element) 	将指定的元素插入此列表中的指定位置
E remove(int index) 	移除此列表中指定位置上的元素
boolean remove(Object o) 	移除此列表中首次出现的指定元素
E set(int index,E element) 	用指定的元素替代此列表中指定位置上的元素

批量操作

boolean addAll(Collection<? extends E> c) 	将子集合c中的元素添加到此集合中
boolean addAll(int index,Collection<? extends E> c) 	将子集合c中的元素添加到此集合中的index位置开始处
void clear() 	清空此集合
protected void removeRange(int fromIndex,int toIndex) 	移除集合中索引在fromIndex(包括)和toIndex(不包括)之间的所有元素
public boolean removeAll(Collection<?> c) 	移除此collection中那些也包含在指定collection中的所有元素
public boolean retainAll(Collection<?> c) 	仅保留在子集合c中那些也包含在此集合中的元素

查询操作

boolean contains(Object o) 	判断集合中是否包含了元素o
E get(int index) 	返回此集合中index位置上的元素
int indexOf(Object o) 	返回此集合中首次出现元素o的位置
boolean isEmpty() 	判断此集合是否为空
int lastIndexOf(Object o) 	返回此集合中最后一次出现元素o的位置
int size() 	返回此集合中元素的个数

其他操作

Object clone() 	返回此列表实例的浅复制
void ensureCapaCity(int minCapacity) 	如有必要,增加此列表实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数
void trimToSize() 	 将此列表实例的容量调整为列表的当前大小

数组操作

Object[] toArray() 	 按适当顺序返回包含此列表中所有元素的数组
<T> T[] toArray(T[] a) 	 按适当顺序返回包含此列表中所有元素的数组

Iterator和子List操作

ListIterator<E> listIterator(int index) 	 返回列表的ListIterator实例
ListIterator<E> listIterator() 	 返回列表的ListIterator实例
Iterator<E> iterator() 	 返回列表的Iterator实例
List<E> subList(int fromIndex, int toIndex) 	 返回列表的子列表

ArrayList遍历方法:

支持三种遍历方式:

第一种: 通过索引值去遍历(随机遍历)(效率最好)

第三种: 通过增强的for循环去遍历(效率最低)

第三种: 通过迭代器去遍历(效率次之)

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值