Java中的集合——Collection类和迭代器

集合这部分的内容有点多~

咱们分开来写哈~
那我们先来开始今天的内容~


了解集合


集合的由来

数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦。

java 内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少 


数组和集合的区别

区别1 : 

数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值。

集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象。


区别2:

数组长度是固定的,不能自动增长。

集合的长度的是可变的,可以根据元素的增加而增长。


数组和集合什么时候用

1)如果元素个数是固定的推荐用数组

2)如果元素个数不是固定的推荐用集合


集合继承体系图


640?wx_fmt=jpeg

这些类我会一一的给大家介绍的~

小伙伴们不要急哈~


Collection类


Collection集合的基本功能


基本功能演示:


boolean add(E e)

640?wx_fmt=jpeg


add方法:如果是 list 集合就会返回true,因为 list 集合中可以存储重复元素

如果是。set 集合存储重复的元素就会返回 false。


boolean remove(Object o)

640?wx_fmt=png


void clear()

640?wx_fmt=png


boolean contains(Object o)

640?wx_fmt=png


boolean isEmpty()

640?wx_fmt=png


int size()

640?wx_fmt=png


集合转数组遍历

集合的遍历

依次获取集合中的每一个元素。


toArray()方法

把集合转成数组,可以实现集合的遍历


640?wx_fmt=jpeg


遍历自定义对象

640?wx_fmt=jpeg


Collection中带All的方法



boolean addAll(Collection c)

640?wx_fmt=png

将c1中的每一个元素添加到c中


640?wx_fmt=png

将c1当做一个元素添加到c中


boolean removeAll(Collection c) 

删除交集

640?wx_fmt=jpeg


boolean containsAll(Collection c) 

包含

640?wx_fmt=jpeg


boolean retainAll(Collection c)

取交集

640?wx_fmt=png


集合的遍历之迭代器遍历


迭代器概述

集合是用来存储元素,存储的元素需要查看,那么就需要迭代(遍历) 


640?wx_fmt=jpeg


迭代器的原理

迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,那么就需要在每一个类中定义 hasNext() 和 next() 方法,这样做是可以的,但是会让整个集合体系过于臃肿。


迭代器是将这样的方法向上抽取出接口,然后在每个类的内部,定义自己迭代方式,这样做的好处有二:

第一:规定了整个集合体系的遍历方式都是hasNext()和next()方法

第二:代码有底层内部实现,使用者不用管怎么实现的,会用即可 


u1F4AA.0.png扩展阅读 

Java中的其它类

Java中的时间类

正则表达式


来源:Java联盟

版权声明:文章来源网络,版权归作者本人所有,如侵犯到原作者权益,请与我们联系删除或授权事宜


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值