Java 数据结构算法Collection接口迭代器示例详解

2023-02-23 0 1,881

猪小侠源码,https://www.20zxx.cn/
目录

Java合集框架

数据结构是以某种形式将数据组织在一起的合集(collection)。数据结构不仅存储数据,还支持访问和处理数据的操作
在面向对象的思想里,一种数据结构也被认为是一个容器(container)或者容器对象(container object),它是一个能存储其他对象的对象,这里的其他对象常被称为数据或者元素
定义一种数据结构从实质上讲就是定义一个类。数据结构类应该使用数据域存储数据,并提供方法支持查找、插入和删除等操作
Java 提供了很多能有效地组织和操作数据的数据结构。这些数据结构通常称为 Java 合集框架(Java Collections Framework

Collection接口

Collection 接口为线性表、向量、栈、队列、优先队列以及集合定义了共同的操作
SetListCollection 的子接口
下面是实现 Collection 的子接口、实现子接口的抽象类以及后面的具体类
Java 数据结构算法Collection接口迭代器示例详解
Collection 接口中定义了以下方法:

方法及返回类型 描述
add(o: E) : boolean 添加一个新的元素 o 到合集中
addAll(c: Collection<? extends E>) : boolean 将合集 c 中的所有元素添加到该合集中
clear() : void 从该合集删除所有元素
contains(o: Object) : boolean 如果该合集包含元素 o,则返回 true
containsAll(c : Collection<?>) : boolean 如果该合集包含 c 中所有的元素,则返回 true
equals(o: Object) : boolean 如果该合集等同于另外一个合集 o,则返回 true
hashCode() : int 返回该合集的哈希码
isEmpty() : boolean 如果该合集没有包含元素,则返回 true
remove(o: Object) : boolean 从该合集中移除元素 o
removeAll(c: Collectioin<?>) : boolean 从该合集中移除 c 中的所有元素
retainAll(c: Collectioin<?>) : boolean 保留同时位于 c 和该合集中的元素
size() : int 返回该合集中的元素数目
toArray() : Object[] 为该合集中的元素返回一个 Object 数组

Collection 接口提供了在集合中添加与删除元素的基本操作。add 方法给合集添加一个元素,addAll 方法把指定合集中的所有元素添加到这个合集中,remove 方法从元素中删除一个元素,removeAll 方法从这个合集中删除指定合集中的所有元素,retainAll 方法保留既出现在这个合集中也出现在指定合集中的元素。所有这些方法都返回 boolean 值,如果执行方法改变了这个合集,那么返回值为 trueclear 方法简单地移除合集中的所有元素
方法 addAllremoveAllretainAll 类似于集合上的并、差、交运算
Collection 接口提供了多种查询操作,方法 size 返回合集中元素的个数,方法 contains 检测合集中是否包含指定的元素,方法 containsAll 检测这个合集中是否包含指定合集中的所有元素。如果合集为空,方法 isEmpty 返回 true
Collection 接口的 toArray 方法返回一个合集的数组表

迭代器

每种合集都是可迭代的(Iterable),可以获得合集的 Iterator 对象来遍历合集中的所有元素
Iterator 是一种经典的设计模式,用于在不需要暴露数据是如何保存在数据结构的细节的情况下,来遍历一个数据结构
Iterable 接口中定义了以下方法:

方法及返回类型 描述
iterator() : Iterator<E> 为该合集中的元素返回一个迭代器

Iterator 接口中定义了以下方法:

方法及返回类型 描述
hasNext() : boolean 如果该迭代器还要遍历更多元素,则返回 true
next() : E 返回该迭代器中的下一个元素
remove() : void 移除使用 next 方法获取的上一个元素

Collection 接口继承自 Iterable 接口,Iterable 接口定义了 iterator 方法,该方法会返回一个迭代器
Iterator 接口为遍历各种类型的合集中的元素提供了一种统一的方法,Iterator 接口中的 iterator() 方法会返回一个 Iterator 的实例,这个实例可以使用 next() 方法对合集中的元素进行顺序访问,使用 hasNext() 方法来检测迭代器中是否还有更多的元素,以及使用 remove() 方法来移除迭代器返回的最后一个元素
写一个案例感受一下迭代器的魅力
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class TestIterator {
public static void main(String[] args) {
Collection&lt;String&gt; collection = new ArrayList&lt;&gt;();
collection.add(\"Hello\");
collection.add(\"World\");
collection.add(\"Java\");
//遍历方法一
Iterator&lt;String&gt; iterator = collection.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next().toUpperCase());
}
//遍历方法二
for (String c : collection) {
System.out.println(c.toUpperCase());
}
}
}

运行结果如下
Java 数据结构算法Collection接口迭代器示例详解
以上就是Java 数据结构算法Collection接口迭代器示例详解的详细内容,更多关于Java Collection接口迭代器的资料请关注其它相关文章!

猪小侠源码,https://www.20zxx.cn/
资源下载此资源下载价格为1小猪币,终身VIP免费,请先
由于本站资源来源于互联网,以研究交流为目的,所有仅供大家参考、学习,不存在任何商业目的与商业用途,如资源存在BUG以及其他任何问题,请自行解决,本站不提供技术服务! 由于资源为虚拟可复制性,下载后不予退积分和退款,谢谢您的支持!如遇到失效或错误的下载链接请联系客服QQ:442469558

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 PHP教程 Java 数据结构算法Collection接口迭代器示例详解 http://www.20zxx.cn/586384/xuexijiaocheng/qes.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务