Java之Collection和List接口

举报
哥的时代 发表于 2023/12/26 23:05:06 2023/12/26
【摘要】 前言:集合概述Java为了存储不同类型的多个对象提供了一系列特殊的类,这个类统称为集合。并且这些类可以存储任意类型的对象,而且存储长度也可以改变。注意:集合都位于java.util包中,使用集合的时候需要导包。(虚线框里的都是接口类型,实线框里的都是具体的实现类) 一、Collection接口Collection接口是Java单列集合中的根接口,它定义了各种具体单列集合的共性,其他单例集合...

前言:集合概述

Java为了存储不同类型的多个对象提供了一系列特殊的类,这个类统称为集合。并且这些类可以存储任意类型的对象,而且存储长度也可以改变。

注意:集合都位于java.util包中,使用集合的时候需要导包。
image.png

(虚线框里的都是接口类型,实线框里的都是具体的实现类)


一、Collection接口

Collection接口是Java单列集合中的根接口,它定义了各种具体单列集合的共性,其他单例集合大多直接或间接的继承该接口(从图可以看出)。

Collection接口定义如下:

public interface Collection<E> extends Iterable<E>{

        //Query Qperations

}

(Collection是Iterable的子接口,定义中的<E>表示泛型)

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内部维护了一个双向循环链表,链表中的每一个元素都使用引用的方式记录它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来,当插入一个新元素时,只需要修改元素之间的引用关系即可,删除也是如此。
image.png

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接口的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。