Collection接口
我们常用的集合有list集合、set集合和map集合,其中list与set继承了 Collection接口,各个接口含提供了不同的实现类。
Collection接口常用的方法:
方法 | 功能 |
---|---|
add(E e) | 指定对象添加到集合中 |
remove(Object o) | 将指定对象重集合中移除 |
isEmpty() | 返回boolean值,用于判断集合是否为空 |
iterator() | 返回 Collection的元素上进行迭代的迭代器。用于遍历集合对象 |
size() | 返回int类型,获取该集合中元数的个数 |
List接口
实现类:
- ArrayList类实现了可变的数组,允许保存null,并可以根据索引位置对集合进行快速的随机访问;缺点是向指定的索引位置插入对象和删除对象较慢;
- LinkedList类采用了链表结构保存对象。这种结构的优点是向集合中增删快,效率高于ArrayList,但对于随机访问集合对象,使用LinkedList类实现效率低;
代码:
List<E> list = new ArrayList<>() ; //使用ArrayList实现
LinkedList<E> list = new LinkedList<>(); //使用LinkedList实现
方法:
方法 | 功能 |
---|---|
public void addFirst(E e) | 将指定元素插入此列表的开头。 |
public void addLast(E e) | 将指定元素添加到此列表的结尾。 |
public E getFirst() | 返回此列表的第一个元素。 |
public E getLast() | 返回此列表的后一个元素。 |
public E removeFirst() | 移除并返回此列表的第一个元素。 |
public E removeLast() | 移除并返回此列表的后一个元素。 |
public E pop() | 从此列表所表示的堆栈处弹出一个元素。 |
public void push(E e) | 将元素推入此列表所表示的堆栈。 |
public boolean isEmpty() | 如果列表不包含元素,则返回true |
Set集合
与 List 接口不同, Set 接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。
实现类:
- HashSet类使用哈希表
- TreeSet类 他不仅实现了Set接口,含实现了java.util.SortedSet接口,所以它是有顺序的
TreeSet新增的方法
方法 | 功能 |
---|---|
first() | 返回Set集合中第一个元素(最低) |
last() | 返回Set集合中最后一个(最高)的元素 |
headSet(E toElement) | 返回对此Set中的元素经行排序的比较器。如果Set使用自然顺序,返回null |
subSet(E formElement , E formElement) | 返回一个新的Set集合,[E formElement , E formElement )之间元素 |
tailSet(E formElement ) | 返回一个新的Set集合,新集合中 [E formElement , 最后] |