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()    

  • 相关阅读:
    ionic+cordova开发!
    npm安装出错的时候,如何使用国内的镜像!--解决办法
    wamp环境解决局域网不能访问的问题!
    flex弹性布局属性详解!
    JS判断当前是否是IE浏览器,并返回时IE几?
    thinkphp---手机访问切换模板!
    thinkCMF的使用!
    thinkphp5在集成环境目录访问权限问题
    微信小程序 --- 下拉刷新上拉加载
    jQuery --- 利用a标签的download属性下载文件!
  • 原文地址:https://www.cnblogs.com/z-jun/p/6123164.html
Copyright © 2011-2022 走看看