List集合:
list集合是一种有序列表,它和数组相似,用来保存数据,list的内部按照放入元素的顺序来保存元素,每个元素可以通过自己的索引来确定位置,和集合的下标来获取元素一样,索引也从0开始。
list集合和数组有着相似的功
能,却比数组方便,当我们设定数组时需要规定一定的长度,但当我们需要增加数组长度时,便会比较麻烦,一次次的手动增加数组长度,且数组在某个位置进行增加时,需要将其他元素都向后移动才能给增加的元素腾位置,或者删除某个元素时,需要将其后面的元素都向前移动,这种数组的实现非常麻烦。
因此,当我们日常中需要对元素进行增加和删除时用ArrayList来实现会更加方便,当我们对某个位置元素进行增加或删除时,它的内部便会自动调增元素的位置,使元素再次有序。当我们第一次在ArrayList集合中赋值时,集合内部会自动开辟十个内存空间,当内存空间占满后,它会自动以原来的1.5倍继续创建一个更大的内存数组,将原来的旧元素复制到新数组中继续进行增加,添加一个元素后数组的 size 加1。
list集合的特点:
有序,且值允许重复
list集合的父类是Collection,如下图:
ArrayList 数据结构:数组
特点:易遍历,查找
LinkedList 数据结构:双向链表,链表由若干个Node(结点)组成
特点:适合插入,删除
Vector 数据结构:数组
特点:线程安全
子类:Stack(栈) 特点:具备First in Last out (先进先出)的特点
创建并遍历list数组:(方式1)
import java.util.Arrays;
import java.util.List;
public class demo01 {
public static void main(String[] args) {
//asList是创建一个临时数组用来存放数据
List<String> list= Arrays.asList("s","d","a","e","f","g","v");
for(int i=0;i<list.size();i++){
String s=list.get(i);//得到数组的每个元素
System.out.println(s);
}
}
}
(方式2)
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class demo01 {
public static void main(String[] args) {
//asList是创建一个临时数组用来存放数据
List<String> list= Arrays.asList("s","d","a","e","f","g","v");
Iterator<String> it=list.iterator();
while (it.hasNext()){
String ret=it.next();
System.out.println(ret);
}
运行结果:
目录