Java学习笔记(十一)Collections framework之collection接口,iterator接口

Collection


  • 最基本的集合接口,包含对于集合的基本的8个操作:
    1. 向集合中添加元素
    2. 删除集合中的元素
    3. 修改集合中的元素
    4. 查找集合中的元素
    5. 拷贝集合中的元素
    6. 判断集合间的等价性
    7. 获取集合的规模(大小)
    8. 获取集合的hashCode

添加操作

函数头函数描述
public boolean add(Object element)向集合中添加单个元素,如果添加成功返回true,否则返回false,没有异常抛出
public boolean addAll (Collection c)将另一个集合整个添加到当前集合,如果当前集合有修改,那么返回true,否则返回false

注意:当前实例是更具体的类型,那么可能不支持某些函数,那么会抛出异常UnsupportedOperationException,下面的几种操作有同样的异常机制,不做赘述。


删除操作

函数头函数详解
public void clear()删除集合中的所有的元素
public boolean remove (Object element)删除集合中的单个元素,如果集合有修改,那么返回true,否则返回false
public boolean removeAll (Collection c)我们假设当前集合为 S ,参数集合为T,那么操作后结果就是S-T;如果 S 被修改了返回true,否则返回false
public boolean retainAll (Collection c) 我们假设当前集合为S,参数集合为 T ,那么操作后结果就是ST;如果 S 被修改了返回true,否则返回false

获取元素

public Iterator iterator()

获取一个迭代器,能够遍历集合中的全部元素。


查找元素存在性

函数头 函数详解
public boolean contains(Object element) 如果要查找的元素存在,那么返回true,否则返回false
public boolean containsAll (Collection c) 我们假设当前集合为S,参数集合为 T ,;如果TS返回true,否则返回false

获取集合的规模

函数头函数详解
public int size()获取集合的元素的个数
public boolean isEmpty()判断集合是否为空

拷贝集合

Collecion这个接口是不提供串行和克隆操作的,

函数头函数比较
public Object[] toArray()返回的元素的类型就是基本的Object类型
public Object[] toArray(Object[] a)参数的数组的类型决定了返回的数组的类型,如果传入的数组的空间足够,那么会把集合拷贝到数组中,富余的部分用null填充;如果传入的数组的规模不够,那么会得到一个新的同样类型的数组,作为返回值返回。

注意:如果传入的数组的类型不能够由集合中的元素转换得到,那么会抛出异常ArrayStoreException


检查集合等价性

首先要判断两个集合的的更具体的类型是否相同,如果相同,再根据那个集合的等价性的具体定义来判断:

public boolean equals(Object o)

Iterator接口

函数名称函数解释
hasNext()当前集合是否有下一个元素
next()获取下一个元素
remove()删除迭代器指向的最后一个元素

迭代器和Enumeration很像,但是它能够修改集合,但是为了操作的安全性我们采取的是只能删去集合中的最后一个元素。
一个例子:

Collection c = ...
Iterator i = c.iterator();
while (i.hasNext()) {
process(i.next());
}

如果hasNext()返回true之后还继续用Next函数的话,那么会怕抛出NoSuchElementException异常


为了更好的利用和实现多态,理解好基本collection接口才能更好的利用Collections Framework

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值