学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…
文章目录
- 前言:集合概述
- 一、Collection接口
- 1.1、常用方法
- 二、List接口
- 2.1、常用方法
- 2.2、ArrayList
- 2.3、LinkedList
- 2.3.1、 LinkedList特有方法
- 总结
前言:集合概述
Java为了存储不同类型的多个对象提供了一系列特殊的类,这个类统称为集合。并且这些类可以存储任意类型的对象,而且存储长度也可以改变。
注意:集合都位于java.util包中,使用集合的时候需要导包。
(虚线框里的都是接口类型,实线框里的都是具体的实现类)
一、Collection接口
Collection接口是Java单列集合中的根接口,它定义了各种具体单列集合的共性,其他单例集合大多直接或间接的继承该接口(从图可以看出)。
Collection接口定义如下:
public interface Collection<E> extends Iterable<E>{
//Query Qperations
}
(Collection是Iterable的子接口,定义中的表示泛型)
1.1、常用方法
方法声明 | 功能描述 |
---|---|
boolean add (Object o) | 向当前集合中添加一个元素 |
boolean addAll(Collection c) | 将指定集合c中的所有元素添加到当前集合中 |
void clear () | 删除当前集合中所有的元素 |
boolean remove(Object o) | 删除当前集合中指定的元素 |
boolean removeAll(Collection c) | 删除当前集合中包含的集合c中的所有元素 |
boolean isEmpty() | 判断当前集合是否为空 |
boolean contains(Object o) | 判断当前集合是否包含某个元素 |
boolean containsAll(Collection c) | 判断当前集合中是否包含指定集合c中的所有元素 |
Iterator iterator() | 返回当前集合的迭代器。迭代器用于遍历集合中的所有元素 |
int size() | 获取当前集合元素个数 |
二、List接口
List接口继承于Collection接口,List接口实例中允许存储重复的元素,所有的元素将以线性方式存储。List接口实例中存储的元素是有序的,即元素的存入和取出顺序一致(与队列相似)
2.1、常用方法
方法声明 | 功能描述 |
---|---|
void add(int index,Object element) | 将元素element插入List的索引index处 |
boolean addAll(int index,Collection c) | 将集合c包含的所有元素插入List集合的索引index处 |
Object get(int index) | 返回集合索引index处的元素 |
Object remove(int index) | 删除索引index处的元素 |
Object set(int index,Object element) | 将索引index处的元素替换成element对象,并将替换后的元素返回 |
int indexOf(Object o) | 返回对象o在List中第一次出现的索引 |
int lastIndexOf(Object o) | 返回对象o在List中最后一次出现的索引 |
List subList (int fromIndex,int toIndex) | 返回从索引fromIndex(包括)到toIndex(不包括)的所有元素组成的子集合 |
2.2、ArrayList
ArrayList是List接口的一个实现类,ArrayList内部封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList看作一个长度可变的数组。
2.3、LinkedList
LinkedList内部维护了一个双向循环链表,链表中的每一个元素都使用引用的方式记录它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来,当插入一个新元素时,只需要修改元素之间的引用关系即可,删除也是如此。
2.3.1、 LinkedList特有方法
方法声明 | 功能描述 |
---|---|
void add (int index,E element) | 在当前集合的索引index处插入元素element |
void addFirst(Object o) | 将指定元素o插入当前集合的开头 |
void addLast(Object o) | 将指定元素o添加到当前集合的结尾 |
Object getFirst() | 返回当前集合的第一元素 |
Object getLast() | 返回当前集合的最后一个元素 |
Object removeFirst() | 移除并返回当前集合的第一个元素 |
Object removeLast() | 移除并返回当前集合的最后一个元素 |
boolean offer(Object o) | 将指定元素o添加到当前集合的结尾 |
boolean offerFirst(Object o) | 将指定元素o添加到当前集合的开头 |
boolean offerLast(Object o) | 将指定元素o添加到当前集合的结尾 |
Object peekFirst() | 获取当前集合的第一个元素 |
Object peekLast() | 获取当前集合的最后一个元素 |
Object pollFirst() | 移除并返回当前集合的第一个元素 |
Object pollLast() | 移除并返回当前集合的最后一个元素 |
void push(Object o) | 将指定元素o添加到当前集合的开头 |
总结
以上就是Java之Collection和List接口的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!