java.util之ArrayList使用
一、概述
- ArrayList底层实际是通过一个数组来保存数据,其默认大小为10,扩容机制为新的容量=“(原始容量x3)/2 + 1
- 允许空值
- 有序
- 为线程不安全
- 可以使用迭代器遍历
- 里面的的元素全部都是对象,基本类型会自动装箱成对象
二、常用方法
1. 增:
add(Object obj)
add(int index, E element)//向数组中指定的位置添加元素
addAll(Collection<? extends E> c)//将该collection中的元素依次添加
2. 删:
remove(int index)
remove(Object obj)
3. 改:
set(int index, Object ele)
4. 查:
get(int index),
contains(Object o)//若列表中包含该对象,则返回true,反之返回false:
indexof(Object o)//返回该对象在集合列表中首次出现的位置
isEmpty()//判断列表是否为空
5. 插:
add(int index, Object ele)
6. 返回数组:
toArray()//返回一个包含此列表所有元素的数组,并按一定顺序排列
7. 长度:
size()
8. 遍历:
8.1 Iterator迭代器方式
Iterator iterator = arrayList.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
8.2增强for循环
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<>();
strings.add("张飞");
strings.add("赵云");
strings.add("关羽");
for (String name:strings
) {
System.out.println(name);
}
}
8.3 普通的循环
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<>();
strings.add("张飞");
strings.add("赵云");
strings.add("关羽");
for (int i =0; i < strings.size(); i++) {
System.out.println(strings.get(i));
}
}