Collection集合

开发中经常会用到数组跟集合,数组的长度是固定的,集合的长度是可变的。数组中只能放同一种类型的元素,集合存储的都是对象,类型可以不一致。


单列集合 java.util.Collection

双列集合 java.util.Map


Collections工具类常用方法:

1. addAll方法的作用:将数组的元素全部添加指定的集合中

2. shuffle方法的作用:对集合元素乱序

3. sort方法的作用:对集合元素进行排序:默认 升序

1. List集合常用方法

public void add(int index, E element)指定位置添加元素

public E get(int index) 获得指定位置的元素

public E remove(int index)  删除指定位置的元素,返回被删除的元素

public E set(int index,E element) 修改指定位置的元素为新元素element

1. LinkedList集合底层结构和特点

 * 有序,有索引,可重复

 * 底层结构:链表(查询慢,增删快)

2. LinkedList源码分析

无参数构造方法源码分析:没什么也没发生

每次根据索引获取元素时都会执行遍历操作,要么从头开始遍历要么从尾部开始遍历

如果索引值小于元素个数的一半,则从头开始遍历查找

如果索引值大于等于元素个数的一半,则从尾部开始遍历查找

LinkedList集合特有方法

public void addFirst(E e) :

public void addLast(E e) :

public E getFirst() :

public E getLast() :

public E removeFirst() :

public E removeLast() :

1. Set集合的特点:无序(存取顺序不一致),无索引,元素不可重复

2. Set集合常用子类

HashSet

LinkeHashSet

1. HashSet集合的特点和底层结构

* 特点:无序,无索引,元素不可重复

* 底层结构:哈希表(数组和链表的结合体)

2. HashSet集合遍历方式

* 迭代器和增强for

 从HashSet集合中获取元素:只能采用遍历方式获取

LinkedHashSet的特点和结构

* 特点:无索引,元素不可重复

* 底层结构:哈希表(数组和链表的结合体)+链表

* 继承HashSet:能够保证存取顺序一致

你可能感兴趣的:(Collection集合)