【Java】Iterable、Collection、List 的语法、常见方法签名以及含义

简介: 【Java】Iterable、Collection、List 的语法、常见方法签名以及含义

Iterable

语法

Iterable 是一个具有迭代(遍历)功能的接口,并且是一个泛型接口

常见方法

Iterator<T> iterator();

功能

public interface Iterable <T> {
  Iterator<T> iterator();
}

一个对象实现 Iterable 接口就说明这个对象具备了迭代能力

Iterable 接口提供了一个 iterator() 方法,这个方法返回一个 Iterator 对象:用来迭代的对象(被称为迭代器

Collection

语法

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

Collection 是继承自 Iterable 的泛型接口

Collection 是不一定具备线性结构的特点

所有的 Collection 都具备迭代能力

线性表是一种 Collection

非线性表也是一种 Collection

常见方法


int size();

返回容器中元素的个数

boolean isEmpty();

容器是否为空

boolean contains(Object o);


容器中是否存在 o 元素

隐含着,需要遍历容器中所有的元素,和 o 元素进行相等性比较

因此,想让 contains 正确的返回,必须正确重写元素的 equals 方法


boolean add(E e);


把元素 e 放入容器中

容器中不允许出现相同元素,当尝试放入重复的元素时,放入就会失败


boolean remove(Object o);


将容器中和 o 相等的其中一个元素删除掉

提到相等性,就必须正确重写 equals 方法


boolean addAll(Collection c);


将 c 中所有元素都放到当前容器中,放入之后元素之间没有顺序


void clear();


清空容器内所有元素


List

语法

public interface List<E> extends Collection<E> {
}

继承自 Collection

线性结构

元素有顺序

可以排序、头插、尾插、头删、尾删

常见方法

boolean add(E e);

往容器中添加元素 e ,因为是线性结构,所以对应尾插操作,并且尾插不可能失败,返回值永远是 true


void add(int index, E element);

1将元素插入到给定== index 下标位置==处,index 后的所有元素逻辑上后移一位


boolean remove(Object o);

删除第一个遇到的和 o 元素相等的元素

提到相等性,则需正确重写 equals 方法

返回值代表是否删除成功

E remove(int index);

将 index 位置的元素从线性结构中取出并返回,让 index 后的所有元素逻辑上前移一位

boolean addAll(Collection c);

将 c 容器中的所有元素(按照一定次序),一个个的尾插到 this 容器中

void sort(Comparator<E> c);

以 c 作为元素的比较器(天平),衡量元素大小进行排序

E get(int index);

返回 index 位置的元素

E set(int index, E element);

用 element 替换 index 位置的元素,并返回 index 位置原来的元素

int indexOf(E e);

从前往后,第一个和 e 相等的元素所在位置

相等:equals

int lastIndexOf(E e);

从前往后,最后一个和 e 相等的元素所在位置

相等:equals

List<E> subList(int fromIndex, int toIndex);

将原有线性结构的 [ fromIndex, toIndex ) 截取成一个新的线性结构并返回

目录
相关文章
|
6天前
|
前端开发 JavaScript Java
前端和Java验签以太坊钱包签名实现中心化登录
前端和Java验签以太坊钱包签名实现中心化登录
709 8
|
6天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
10 0
|
6天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
9 0
|
6天前
|
存储 安全 算法
Java一分钟之-Java集合框架入门:List接口与ArrayList
【5月更文挑战第10天】本文介绍了Java集合框架中的`List`接口和`ArrayList`实现类。`List`是有序集合,支持元素重复并能按索引访问。核心方法包括添加、删除、获取和设置元素。`ArrayList`基于动态数组,提供高效随机访问和自动扩容,但非线程安全。文章讨论了三个常见问题:索引越界、遍历时修改集合和并发修改,并给出避免策略。通过示例代码展示了基本操作和安全遍历删除。理解并正确使用`List`和`ArrayList`能提升程序效率和稳定性。
12 0
|
6天前
|
存储 安全 Java
【JAVA基础篇教学】第八篇:Java中List详解说明
【JAVA基础篇教学】第八篇:Java中List详解说明
|
6天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
|
6天前
|
Java 编译器 程序员
Java基础语法之基本语法格式
本文主要复习了Java的基础语法,包括类的定义、方法、主方法、注释和关键字等内容,旨在帮助读者巩固Java学习中的重要概念。
|
6天前
|
开发者 Python
【亮剑】Python中`List.append()`方法不起作用的原因及解决方案
【4月更文挑战第30天】本文探讨了Python中`List.append()`方法不起作用的原因及解决方案。问题可能源于变量作用域、可变类型与不可变类型混淆、函数内的局部变量、错误的赋值操作或并发修改。解决方法包括检查变量、确保正确操作列表、使用`global`关键字、避免错误赋值和采用同步机制处理并发问题。理解这些问题对于编写健壮的Python代码至关重要。
|
6天前
|
Java API
【亮剑】三种有效的方法来删除List中的重复元素Java的List
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
|
6天前
|
存储 安全 Java
java集合框架及其特点(List、Set、Queue、Map)
java集合框架及其特点(List、Set、Queue、Map)