Collection接口【集合】和Iterator迭代器类
1.1集合的概述
前面基础学习并使用过集合ArrayList<E>,那么集合究竟是什么呢?
集合:集合是Java中提供的一种容器,可以用来存储多个数据。
那么意思就是说集合是容器,但是容器不全都是集合,数组也是一种容器,容器>集合
集合和数组既然都是容器,它们有什么区别? 数组的长度是固定的。集合的长度是可变的。
数组中存储的是同一类型的元素,可以存储基本数据类型值,也可以储存对象
但是,集合只能存储对象。
int[] arr = new int[10];//数组中可以存放基本数据
Student[] arr = new Student;//数组中也可以存放对象
ArrayList<Student> stus = new ArrayList<>();//集合只能存储对象
1.2集合的架构

集合的学习目标:
1、会使用集合存储数据
2、会遍历集合,把数据取出
3、掌握每一种集合的特性
集合的学习方式:
学习顶层【父类】的接口或抽象类中的共性方法,所有的子类都可以使用;
使用底层:顶层【父类】不是接口就是抽象类,无法创建对象使用,就需要使用底层【子类】创建对象使用
TreeSet和HashSet类是无序的集合【存储和取出的元素,顺序有可能不一致】,LinkHashSet类是有序的集合。
集合的两种遍历方式
1、迭代器
A、通过集合对象获取迭代器对象
B、使用循环遍历迭代器
C、判断迭代器对象是否还有对象
D、有元素,则获取。
public static void main(String[] args) {
Collection<String> coll = new ArrayList<>();
coll.add("hello");
coll.add("world");
coll.add("Java");
//使用集合对象获取迭代器,变量对象
Iterator<String> it = coll.iterator();
while (it.hasNext()){
String next = it.next();
System.out.println(next);
}
}
}
2、迭代器的实现原理:

3、增强for循环
增强for循环(也称for each循环)是 JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。 它的内部原理其实是个Iterator迭代器.
语法格式:
容器:集合,数组
for(容器对象的数据类型 变量名 : 容器对象){
//循环体语句:sout(变量名)
}
注意:新for循环必须有被遍历的目标。目标只能是Collection或者是数组。新式for仅仅作为遍历操作出现。
Collection接口【集合】和Iterator迭代器类的更多相关文章
- Java 集合、Iterator迭代器、泛型等
01集合使用的回顾 A:集合使用的回顾 a.ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayList<I ...
- 18_集合框架_第18天_集合、Iterator迭代器、增强for循环 、泛型_讲义
今日内容介绍 1.集合 2.Iterator迭代器 3.增强for循环 4.泛型 01集合使用的回顾 *A:集合使用的回顾 *a.ArrayList集合存储5个int类型元素 public stati ...
- Java集合、Iterator迭代器和增强for循环整理
集合 集合,集合是java中提供的一种容器,可以用来存储多个数据. 数组的长度是固定的.集合的长度是可变的.集合中存储的元素必须是引用类型数据 1.1 ArrayList集合存储元素 pac ...
- JAVA基础之集合、Iterator迭代器、泛型及增强for循环
个人理解: 对于集合,首先要明确的是最顶层的接口是Collection接口类,其包含一些基本的方法以便子类调用,不过在定义的时候最好定义好数据类型,以免遍历时还得必须进行向上转型:特别注意的是其没有关 ...
- java基础(18):集合、Iterator迭代器、增强for循环、泛型
1. 集合 1.1 集合介绍 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数 ...
- 集合之Iterator迭代器
Iterator迭代器概述: java中提供了很多个集合,它们在存储元素时,采用的存储方式不同.我们要取出这些集合中的元素,可通过一种通用的获取方式来完成. Collection集合元素的通用获取 ...
- 大数据之路week01--自学之集合_2(Iterator迭代器)
选代器:是遍历集合的一种方式.迭代器是依赖于集合而存在的.我有一个集合: Collection c = new ArrayList();我们给集合中添加元素: c. add("hello' ...
- 集合中Iterator迭代器的使用以及实现原理。
collection集合元素通用的获取方式,在取之前先要判断集合中有没有元素,如果有就把这个元素取出来,继续在判断,如果还有就再取出来,一直把集合中的元素全取出来,这种去出方式叫做迭代. 迭代器的作用 ...
- 16、Collection接口及其子接口Set和List(常用类LinkedList,ArrayList,Vector和Stack)
16.Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同 ...
随机推荐
- java web之Filter详解
java web之Filter详解 2012-10-20 0 个评论 作者:chenshufei2 收藏 我要投稿 .概念: Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,W ...
- Salesforce 产品 | 协同办公“大魔王”,Salesforce Quip的使用攻略!
Salesforce帮助企业渡过疫情难关,支持在线远程办公.7.5亿美金收购的动态文档共享平台Quip,即刻开放给所有Salesforce老客户还有非营利组织免费使用至2020年9月30日. Quip ...
- Python中赋值、浅拷贝和深拷贝的区别
前言文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http: ...
- windows/linux下如何更换Python的pip源
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:xlixiaohui PS:如有需要Python学习资料的小伙伴可以 ...
- python字节码,java字节码,十六进制相互转换
下面是互相转换的代码: 有想要了解更多关于python知识的请在下方评论或私信小编
- [linux][mysql] MySQL中information_schema是什么
来源:MySQL中information_schema是什么 information_schema数据库是MySQL自带的,information_schema提供了访问数据库元数据的方式.这就是?元 ...
- DataTable 与XML 交互
一.将DataTable的内容写入到XML文件中 /// <summary> /// 将DataTable的内容写入到XML文件中 /// </summary> /// < ...
- 博云DevOps 3.0重大升级 | 可用性大幅提升、自研需求管理&自定义工作流上线,满足客户多样化需求
DevOps能够为企业带来更高的部署频率.更短的交付周期与更快的客户响应速度.标准化.规范化的管理流程,可视化和数字化的研发进度管理和可追溯的版本也为企业带来的了更多的价值.引入DevOps成为企业实 ...
- 使用STM8S i2c对TPS65987寄存器进行读写
上图是TPS65987的i2c读写协议,和标准i2c协议有点出入,不过也不难理解,在读的时候i2c slave在发送数据过来之前会先发送1byte数据表示后面会有几个字节数据过来,在写的时候i2c h ...
- Python pandas库159个常用方法使用说明
Pandas库专为数据分析而设计,它是使Python成为强大而高效的数据分析环境的重要因素. 一.Pandas数据结构 1.import pandas as pd import numpy as np ...
