资讯专栏INFORMATION COLUMN

集合接口

Lemon_95 / 802人阅读

摘要:二类库中的集合接口和迭代器接口集合类的基本接口是接口,有两个基本方法方法用于向集合中添加元素,添加元素确实改变集合,返回,否则集中不允许有重复的对象。

一. 集合接口

Java集合类库将接口(interface)与实现(implementation)分离。
举个例子,队列接口的最小形式

interface Queue 
{
void add(E element);
E remove();
int size();
}

但是队列实现的两种方式:一种是使用循环数组;另一种是使用链表。

二. Java类库中的集合接口和迭代器接口

集合类的基本接口是Collection接口,有两个基本方法

public inter Collection
{
boolean add(E element);
Interator iterator
}

add方法用于向集合中添加元素,添加元素确实改变集合,返回true,否则false;集中不允许有重复的对象。
iterator方法用于返回一个实现了Iterator接口的对象。依次访问集合中的元素

1. 迭代器

包含3个方法

public interface Iterator
{
E next(); //查找下一个
boolean hasNext(); //是否有下一个
void remove(); //删除
}

集合的末尾,next方法抛出NoSuchElementException,需要在调用next之前调用hasNext方法。

Collection c=...;
Iterator iter=c.iterator();
while(iter.hasNext())
{
    String element=iter.next();
    //do something
}

java SE5.0起可以使用 for each进行循环

for(String element :c)
{
    // do something
}

可以与任意实现了Iterable接口的对象一起工作,Iterable接口

pulic interface Iterable
{
    Iterator iterator();
}

标准类中的任何集合都可以使用 for each循环
元素被访问的顺序取决于集合类型。
备注:Iterator接口的next和hasNext方法与Enumeration接口的nextElement和hasMoreElements方法的作用一样,但是这个方法名太累赘,更喜欢短的方法名称。

java迭代器认为是位于两个元素之间,当调用next时,迭代器就越过下一个元素,并返回刚刚越过的那个元素的引用。

2. 删除元素

删除上次调用next方法时返回的元素。想要删除某个元素,仍然需要越过这个元素。如果调用remove之前没有调用next,将抛出一个IllegalStateException异常。所以每次删除之前,之前都要调用next方法

Iterator it = stack.iterator(); //删除
it.next();
it.remove();
it.next();
it.remove();
3.泛型实用方法

Collection与Iterator都是泛型接口,可以编写操作任何集合类型的实用方法。类库设计者:某些实用方法非常有用,应该提供给用户。
但是实现Collection接口的每一个类都要提供太多的例行方法,过于繁琐,java类库提供AbstractCollection,将基础方法size和iterator抽象化,提供了例行方法,使实际的数据结构实现者并没有需要实现所有例行方法。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64984.html

相关文章

  • Java™ 教程(集合接口

    集合接口 核心集合接口封装了不同类型的集合,如下图所示,这些接口允许独立于其表示的细节来操纵集合,核心集合接口是Java集合框架的基础,如下图所示,核心集合接口形成层次结构。 showImg(https://segmentfault.com/img/bVbntJW?w=402&h=146); Set是一种特殊的Collection,SortedSet是一种特殊的Set,依此类推,另请注意,层次结构...

    elisa.yang 评论0 收藏0
  • Java™ 教程(集合介绍)

    集合介绍 本节介绍Java集合框架,在这里,你将了解集合是什么以及它们如何使你的工作更轻松、程序更好,你将了解构成Java集合框架的核心元素 — 接口、实现、聚合操作和算法。 集合 — 有时称为容器 — 只是一个将多个元素组合到一个单元中的对象,集合用于存储、检索、操作和传递聚合数据。通常,它们代表形成自然组的数据项,例如扑克牌(卡片集合)、邮件文件夹(信件集合)或电话目录(名称到电话号码的映射)...

    taoszu 评论0 收藏0
  • 通过面试题,让我们来了解Collection

    摘要:说一说迭代器通过集合对象获取其对应的对象判断是否存在下一个元素取出该元素并将迭代器对象指向下一个元素取出元素的方式迭代器。对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器的对象即可,也就是方法。 前言 欢迎关注微信公众号:Coder编程获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识!** 本章主要介绍Collection集合相关知识,结合面试中会提到...

    HelKyle 评论0 收藏0
  • java学习(七) —— API集合

    摘要:集合类主要负责保存盛装其他数据,因此集合类也被称为容器类。所有的集合类都位于包下。表示一组对象,这些对象也称为的元素。成员方法把集合转成数组迭代器,集合的专用遍历方式之接口概述有序的,也称为序列。 前言 在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们实现已经明确知道我们将要保存的对象的数量。 一旦在数组初始化时指定了数组长度,这个数组长度就...

    senntyou 评论0 收藏0
  • Java013-集合

    摘要:集合框架重点理解用于存储数据的容器。集合容器在不断向上抽取过程中。出现了集合体系。,删除将集合中的元素全删除,清空集合。删除集合中指定的对象。注意删除成功,集合的长度会改变。作用用于取集合中的元素。是集合特有的迭代器。是单列集合是双列集合 集合框架(重点理解):用于存储数据的容器。特点:1:对象封装数据,对象多了也需要存储。集合用于存储对象。2:对象的个数确定可以使用数组,但是不确定怎...

    qpal 评论0 收藏0

发表评论

0条评论

Lemon_95

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<