List集合
List接口继承了Collection接口,而collection接口又继承了Interable
实现List接口的ArrayList类
数组结构实现,
动态数组:在内存里面是连续的内存空间存储
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class Demo01 {
public static void main(String[] args) {
//练习我们的集合
List lt1 =new ArrayList();
List lt2 =new LinkedList();
System.out.println("ArrayList的增加操作");
//ArrayList的增加操作
lt1.add("String-字符串");
lt1.add(666);//整型
lt1.add("null");
for(Object i:lt1) {
System.out.println(i);
}
//ArrayList的查询操作
System.out.println("ArrayList的查询操作");
for(Object i:lt1) {
System.out.println(i);
}
//ArrayList的删除操作
System.out.println("ArrayList的删除操作");
lt1.remove(0);
for(Object i:lt1) {
System.out.println(i);
}
//ArrayList的修改操作
System.out.println("ArrayList的修改操作");
lt1.set(0,"修改");
for(Object i:lt1) {
System.out.println(i);
}
}
}
实现List接口的LinkedList类
列表结构物实现,
双向列表:在内存里面是不连续的内存空间存储
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class Demo02 {
public static void main(String[] args) {
//练习我们的集合
List lt1 =new ArrayList();
List lt2 =new LinkedList();
System.out.println("LinkedList的增加操作");
//ArrayList的增加操作
lt2.add("String-字符串");
lt2.add(666);//整型
lt2.add("null");
for(Object i:lt2) {
System.out.println(i);
}
//ArrayList的查询操作
System.out.println("LinkedList的查询操作");
for(Object i:lt2) {
System.out.println(i);
}
//ArrayList的删除操作
System.out.println("LinkedList的删除操作");
lt2.remove(0);
for(Object i:lt2) {
System.out.println(i);
}
//ArrayList的修改操作
System.out.println("LinkedList的修改操作");
lt2.set(0,"修改");
for(Object i:lt2) {
System.out.println(i);
}
}
}
性能比较
public void mainAl() {
List ao1 =new ArrayList();
List ao2 =new LinkedList();
long time1 =System.currentTimeMillis();
for(int a1=0;a1<nums.length;a1++) {
ao1.add(a1);
}
long time3 =System.currentTimeMillis();
for(int a1=0;a1<nums.length;a1++) {
ao2.add(a1);
}
long time2 =System.currentTimeMillis();
long timea1 = time3 -time1;
System.out.println("LinkedList()遍历所用的时间为:"+timea1+"ms");
long timea2 =time2-time1;
System.out.println("ArrayList()遍历所用的时间为:"+timea2+"ms");
}//没有顺序的操作LinkedList较快