ArrayList和Linkedlist都继承list接口.
Arraylist:线性结构,读数据方便,添加/删除数据效率低。
是可以改变大小的对数组,是有序的线性列表,添加数据的顺序就是输出的顺序,对列表中的重复数据不去重。
LinkedList:链表结构,读数据慢,添加/删除数据效率高。
在LinkedList链表列表类型中,需要用到指针,有三个变量
引入一个结点类型Node,有三部分,前指针prev,后指针next,内容item 。
LinkList链式列表是有序的,添加数据的顺序就是打印输出的顺序,对列表中的重复数据不去重。
Arraylist:
import java.util.ArrayList;
public class ArrList {
public static void main(String[] args) {
ArrayList<Integer> arr = new ArrayList<>();
// 增加数据
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);
System.out.println(arr);
//删除数据
arr.remove(1);
System.out.println(arr);
//修改数据
arr.set(1,9);
System.out.println(arr);
}
}
linkedlist:
import java.util.LinkedList;
public class TestLinkedlist {
public static void main(String[] args) {
LinkedList<Object> linked = new LinkedList<>();
//添加一个元素
linked.add(1);
linked.add(2);
//查询
System.out.println(linked.get(1));
//删除
linked.remove(1);
//修改
linked.set(0,10);
//打印列表
System.out.println(linked);
}
}