单列集合和迭代器的介绍

一、Collection集合

集合:集合是一种容器,可以用来存储多个数据

一、集合和数组的区别:

1.Java中数组长度是固定的,集合的长度是可变的。

2.数组存储的是同一类型的元素,可以存储基本数据类型,也可以存储引用数据类型。

3.集合中存储的都是对象,而且对象的类型可以不一致,在开发中一般当对象多的时候,使用集合进行存储。

二、集合的框架

按照存储结构分为两大类

单列集合Java.util.collection

双列集合java.util.Map

Collection:单列集合的根接口,用于存储一系列符合某种规则的元素。

collection有两个子接口分别是List和Set

List 接口的特点是 元素有序,元素可以重复,实现类主要有arraylist和linkedlist

Set 接口的特点是 元素无序,元素不可以重复,实现类主要有HashSet和TreeSet

注意:

1.使用集合的时候,学习顶层接口或者抽象类的共性方法,因为所有的子类都能使用

2.学习集合的时候,使用底层,因为顶层不是接口就是抽象类,不能创建对象使用,需要底层的子类创建对象使用

常用集合的底层及特点:

集合名

底层实现原理

特点

ArrayList

数组

查询快,增删慢

LinkedList

链表

查询慢,增删快

HashSet

哈希表+红黑树

无索引,不可存储重复元素,存取无序

Vector

数组

和arraylist类似,但是线程安全

LinkedHashSet

哈希表+链表

无索引,不可存储重复单元,存取有序

TreeSet(了解)

二叉树

一般用于排序

Collection常用功能

所有单列集合的最顶层接口里面定义了所有单列集合的共性方法,任意的单列集合都可以使用collection方法

共性方法:

把给定的对象添加到当前集合

Public Boolean add(E e) 

清空集合中的所有元素

Public void clear()

把给定的元素在当前集合中删除

Public Boolean remove(E e)

判断当前集合中是否包含给定的对象

Public boolean contains(E e)

判断当前集合是否为空

Public boolean isEmpty()

返回集合中元素的个数

Public int size()

把集合中的元素存储到数组中并返回

Public object[] toArray()

二、Iterator迭代器

1.概述

在程序开发中,经常需要遍历集合中的元素,因为有的元素没有索引,就不能使用for循环,因而jdk专门提供了一个接口java.util.iterator接口。Iterator也是Java集合中的一员。

注意:Iterator与collection和Map接口的不同

Collection和Map主要是用于存储元素。

Iterator主要是用于迭代访问(遍历)collection中的元素,因而iterator对象也叫做迭代器对象。

2.迭代:即collection集合元素获取的通用方式,在取元素之前先判断该集合中有没有元素,有,则取出元素,然后继续判断重复上述操作,直到把集合中的所有元素全部取出,这种方式叫做迭代

3.获取迭代器的方法:

获取集合对应的迭代器,用于遍历集合中的元素    Public Iterator iterator()

4.iterator接口中的方法:

判断集合中还有没有下一个元素,有就返回该元素,没有就报异常  Public E next()

如果仍然有元素可以迭代,则返回ture    Public Boolean hasnext()、

注意:

1.Iterator接口也有泛型,迭代器的泛型和集合保持一致。

2.迭代器从集合中取元素是一个重复的过程,因为不知道集合中有多少元素,所以我们使用while循环,循环结束的条件是hasnext方法返回ture

3.集合取出元素时,如果集合中已经没有元素了,还继续使用next方法将会发生NoSuchElementException异常

  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值