☀️Terry

- - 草木逢春,雨过天晴🌈。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ArrayList,linkedlist,Vector,stack是list的四大实现类,
  ArrayList实现了动态数组的数据结构,linkedlist是基于链表结构的数据结构
ArrayList适合查找,linkedlist适合增删,
  查找:ArrayList 效率快 : 因为linkedlist 是线性的数据存储,需要移动指针,
  增删:LinkedList 效率高 : 因为linkedlist在非首尾的增删操作,如果是操作ArrayList 会影响到数组的下标。
扩充:
  数组和list之间的转换
  数组-list Arrays.aslist(数组);
  lsit-数组 list.toArray();
queue 中的pull()和remove()区别
  相同: 都是返回第一个元素,并在队列中,删除返回的元素。
  不同: 如果获取到的元素为null pull()返回的是null,remover()则抛出异常 NoSuchElementException
  queue.offec("元素") - 添加元素

扩展:假设一个无线循环,使用arraylist,linkedlist 存储,直至内存溢出,哪一个存储的数据多

  分析:

    arraylist:动态数组,每一次创建,都会申请一定的内存大小,倘若,假设我申请1G的空间,但是内存剩余只有500M,这个时候,是申请失败的。因此不会数据存储失败,剩余空间无法利用。

    linkedlist:碎片化的存储,不需要申请内存空间,因此不会出现上述问题。

  答案:linkedlist 存储的数据多。

posted on 2019-11-03 15:03  ☀️Terry  阅读(2035)  评论(0编辑  收藏  举报