关于LinkedList
/** * 功能:存储多个学生的分数 * 不变的是什么? *1.运算结果没有变 * 2.执行的功能代码没有变 * * 变化的什么? * 1.底层的结构变了 * ArrayList:数组 * LinkedList:双向链表 * 2.具体的执行过程变化了 list.add(2,99) * ArrayList:大量的后移元素 * LinkedList:不需要大量的移动元素,修改节点的指向即可 * * 到底是使用ArrayList还是LinkedList * 根据使用场合而定 * 大量的根据索引查询的操作,大量的遍历操作(按照索引0--n-1逐个查询一般),建议使用ArrayList * 如果存在较多的添加、删除操作,建议使用LinkedList * 建议 * List<Integer> list = new ArrayList<Integer>(); * 不建议 * ArrayList<Integer> list = new ArrayList<Integer>(); */ public class TestLinkedList { public static void main(String[] args) { //1.创建一个ArrayList集合对象 //ArrayList<Integer> list = new ArrayList<Integer>(); //LinkedList<Integer> list = new LinkedList<Integer>(); //List<Integer> list = new ArrayList<Integer>(); List<Integer> list = new LinkedList<Integer>(); //2.对集合中的元素进行操作 //2.1 添加 list.add(80);//向末尾添加元素 list.add(80); list.add(78);//自动装箱 list.add(new Integer(78)); //list.add("Java"); // list.addFirst(12); // list.addLast(12); list.add(0,12); list.add(12); list.add(100); list.add(56); list.add(80); list.add(2,99);//向指定的位置添加元素 //2.2 查询指定的元素 System.out.println(list.size());//元素的个数 System.out.println(list); list.remove(1); System.out.println(list); System.out.println(list.isEmpty()); } }