zoukankan      html  css  js  c++  java
  • ArrayList和LinkedList

    接口List

    常用的实现类:ArrayList和LinkedList

    ArrayList:底层是一个对象数组(Object[])

    特点:增删慢,查找快。是一个有序的集合,容量默认是10,元素超过会增加到原来1.5倍。

    ArrayList特有方法: ensureCapacity(int minCapacity);    //增加容量

              trimToSize();     //调整集合容量刚好符合元素个数

    LinkedList: 底层是一个链表形式实现。

    特点:增删快,查找慢。在内存中是无序的(链表形式),在打印出来是有序的。

    特有方法:

    添加:  addFirst();  把元素添加到集合的第一个

           addLast();  把元素添加到集合的最后一个

    获取:  getFirst();   获取集合的第一个元素

         getLast();   获取集合的最后一个元素

    删除:  removeFirst();  移除集合的第一个元素(并且会返回当前元素)

           removeLast();  移除集合的最后一个元素 (并且会返回当前元素)

    如果集合中没有元素,获取和删除元素时会出现:NoSuchElementException异常--->没有找到元素的异常

    LinkedList 数据结构:包含堆栈和队列结构;

    1.栈(1.6):先进后出

      push();  //往栈中退出一个元素

      pop();   //取出最后一个推入的元素

    (LinkedList使用push后变成栈结构, push进去的被pop取完后,就去pop索引0开始的元素)

    2.队列(双端队列1.5):先进先出

      offer():   //添加元素到最后一个

      poll();     //取出最前的

    返回一个逆序的迭代器对象(用于逆序遍历)

      descendingIterator()    

  • 相关阅读:
    深入了解css的行高Line Height属性
    Kafka消息队列
    架构图
    清理肠道好方法
    维特根斯坦
    ES查询DSL大于小于写法
    python虚拟环境
    Dockerfile
    flask基本使用
    泛型类多个类型参数的定义
  • 原文地址:https://www.cnblogs.com/z-jun/p/6123164.html
Copyright © 2011-2022 走看看