专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Java的容器连载(2)---List的起源之Collection筐子

导读

一般数据结构可以按照维度来进行分类

1、 一维度:链表、数组。这种的特点就是线性,所有的元素都是在一条线上,没有出圈的行为
2、 二维度:树、图。这种元素的特点就是有元素引发出来的线有大于等于3条。岔路太多

List属于一维度。

List的族谱

132_1.png List的族谱关系图

List的分析

1、 List的起源

List的发源地是Collection(不是Collections,这个是个工具类)接口而来。Collection定义的接口如下

函数 含义
int size() 装了多少
boolean isEmpty() 是否为空(就是想看看里面装东西没有)
boolean contains(Object o) 检查下有个东西装到里面没有
Iterator iterator() 获取一个迭代器,好一个一个的迭代操作
Object[] toArray() 转换成Object数组,有些时候有些人喜欢使用数据(可能是从c过来的人)
T[] toArray(T[] a) 转换成指定类型的数组,可能需要精准定位类型
boolean add(E e) 往容器内装一个东西
boolean remove(Object o) 从容器内拿东西
boolean containsAll(Collection<?> c) 查看下是否包含另外一个筐子的所有元素
boolean addAll(Collection<? extends E> c) 把一个筐子里面的东西全倒到本筐子里
boolean removeAll(Collection<?> c) 只要是另外一个筐子的东西全给移除掉
default boolean removeIf(Predicate<? super E> filter) 按照这个条件来清除筐子里面的东西
boolean retainAll(Collection<?> c) 在另外一个筐里的全部保留,其余全给删除了
void clear() 整个筐子里面的东西全给倒了扔了,不要了
boolean equals(Object o) Object的equals方法(其实写不写都一样子)
int hashCode() Object的hashCode方法(其实写不写都一样子)
default Spliterator spliterator() JDK8提供的分割函数
default Stream stream() JDK8获取一个Stream对象
default Stream parallelStream() JDK8获取一个并行流

总结一下就是容器或者说是筐子的基本概念,想象一下,我们用筐子装超市的笔记本,笔记本的编号允许重复, 我们或者大家都想知道下面的问题答案:装了多少个笔记本了?还能装多少?这个筐子能装多少? 有个编号叫89757的有没有装进去?我想拿一个编号9527的,怎么拿?想扔掉编号以8开头的怎么扔?等等操作

文章永久链接:https://tech.souyunku.com/44617

未经允许不得转载:搜云库技术团队 » Java的容器连载(2)---List的起源之Collection筐子

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们