zoukankan      html  css  js  c++  java
  • 关于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());
        }
    }
  • 相关阅读:
    面试题 16.07. 最大数值
    461. 汉明距离
    1290. 二进制链表转整数
    1486. 数组异或操作
    1480. 一维数组的动态和
    面试题 17.04. 消失的数字
    626. 换座位
    125. 验证回文串
    530. 二叉搜索树的最小绝对差
    ASP.NET页面之间传递值的几种方式
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14241298.html
Copyright © 2011-2022 走看看