关于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());
    }
}

 

posted @ 2021-01-06 15:19  巧克力曲奇  阅读(155)  评论(0编辑  收藏  举报