集合框架List、Queue、Set

在这里插入图片描述

  • List
    1.ArrayList - 数组 - 查找效率高
    (1)构造方法
    –ArrayList()
    构造一个初始容量为 10 的空列表。
    –ArrayList(int initialCapacity)
    构造一个具有指定初始容量的空列表。
    (2)常用方法
    –boolean add(E e)
    将指定的元素添加到此列表的尾部。
    –void add(int index, E element)
    将指定的元素插入此列表中的指定位置。
    – void clear()
    移除此列表中的所有元素。
    – E get(int index)
    返回此列表中指定位置上的元素。
    – int indexOf(Object o)
    返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
    – int lastIndexOf(Object o)
    返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
    – boolean isEmpty()
    如果此列表中没有元素,则返回 true
    – E remove(int index)
    移除此列表中指定位置上的元素。
    – boolean remove(Object o)
    移除此列表中首次出现的指定元素(如果存在)。
    – E set(int index, E element)
    用指定的元素替代此列表中指定位置上的元素。
    –int size()
    返回此列表中的元素数。
    – Object[] toArray()
    按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
    2.LinkedList
    (1) 构造方法
    –LinkedList()
    构造一个空列表。
    –LinkedList(Collection<? extends E> c)
    构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列。
    (2)常用方法
    与ArrayList相同的方法:
    boolean add(E e) ;void add(int index, E element) ;void clear() ;boolean contains(Object o) ;E get(int index) ;int indexOf(Object o) ; int lastIndexOf(Object o) ; E remove() ; E remove(int index) ;boolean remove(Object o) ; E set(int index, E element) ; Object[] toArray()
    – void addFirst(E e)
    将指定元素插入此列表的开头。
    –void addLast(E e)
    将指定元素添加到此列表的结尾。
    – E getFirst() /getLast()
    返回此列表的第一个/最后一个元素。
    –boolean offerFirst(E e)
    在此列表的开头插入指定的元素。
    –boolean offerLast(E e)
    在此列表末尾插入指定的元素。

– E peek()
获取但不移除此列表的头(第一个元素)。
– E poll()
获取并移除此列表的头(第一个元素)

   -- E pop() 
              从此列表所表示的**堆栈**处弹出一个元素。 
     --void push(E e) 
              将元素推入此列表所表示的**堆栈**。 

效率:插入效率 LinkedList效率略高 -> 性能基本上可以忽略
查找:查找效率 ArrayList效率高 -> 推荐使用

  • Queue
  1. Deque(I): 首先是一个队列
    添加双端队列的实现功能 offerFirst/Last
    堵了一个出入口->单出入口 push/pop
    –主要运用LinkedList,使用堆栈的方法。
  • Set
    散列结构:无顺序,分散排列,哈希值
    1.TreeSet
    基于 TreeMap 的 NavigableSet 实现。使用元素的***自然顺序***对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。
    (1)构造方法
    –TreeSet()
    构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。
    –TreeSet(Collection<? extends E> c)
    构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。
    (2)常用方法
    –相同方法: boolean add(E e) ; boolean addAll(Collection<? extends E> c) ;void clear() ;boolean contains(Object o) ; boolean isEmpty() ;Iterator iterator() ;boolean remove(Object o) ; int size()

– E ceiling(E e)
返回此 set 中大于等于给定元素的最小元素;如果不存在这样的元素,则返回 null。
– Comparator<? super E> comparator()
返回对此 set 中的元素进行排序的比较器;如果此 set 使用其元素的自然顺序,则返回 null。

// 自定义比较器 - 用于Emp对象的比较
class MyComparator implements Comparator<Emp> {
	// 比较
	public int compare(Emp o1, Emp o2) {
		int result = o1.getName().compareTo(o2.getName());//递增
		return result == 0? o1.getAge() - o2.getAge(): result;
	}
	// compareTo(this, obj)
}

– E pollFirst()
获取并移除第一个(最低)元素;如果此 set 为空,则返回 null。
– E pollLast()
获取并移除最后一个(最高)元素;如果此 set 为空,则返回 null。
2.HashSet
底层HashMap
方法和Collection完全一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值