zl程序教程

您现在的位置是:首页 >  后端

当前栏目

常用Java面试题 List集合

2023-09-14 09:05:00 时间

List

特点

不唯一,有序

ArrayList

ArrayList实现了长度可变的数组,在内存中分配连续的空间

  • 优点:遍历元素和随机访问元素的效率比较高
  • 缺点:添加和删除需要大量移动元素效率低,按照内容查询效
    率低

LinkedList

LinkedList采用链表存储方式

  • 优点:插入、删除元素时效率比较高
  • 缺点:遍历和随机访问元素效率低下

LinkedList特有方法

    1. addFirst(Object obj) 添加头
    2. addLast(Object obj) 添加尾
    3. offerFirst(Object obj) 1.6版本之后的加头,尾巴
    4. offerLast(Object obj) 1.6版本之后的加头,尾巴
    1. removeFirst() 删除头 获取元素并删除元素
    2. removeLast() 删除尾
    3. pollFirst() 1.6版本之后的删头,删尾
    4. pollLast() 1.6版本之后的删头,删尾
    1. getFirst() 获取头 获取元素但不删除
    2. getLast() 获取尾
    3. peekFirst() 1.6版本之后的获取头,获取尾
    4. peekLast() 1.6版本之后的获取头,获取尾

List接口特有方法

    1. add(index,element) 在指定索引的位置上插入元素
    2. addAll(index,Collection) 在指定的引的位置上插入整个集合的元素
    3. addAll(Collection) 在结束插入整个集合的元素
    1. remove(index)
    1. set(index,element)
    2. 使用element替换指定索引位置上的元素
  1. 查(获取元素)
    1. get(index)
    2. subList(from,to)
    3. listIterator();