`

java实现Iterable接口的栈(stack)

阅读更多
//实现Iterable接口,实现迭代遍历
   public class Stack<Item> implements Iterable<Item>{
private Node first;
private int N;
//定义内部类作为栈中的每一个节点
private class Node{
    Item item;
    Node next;
}
public boolean isEmpty(){
    return first==null;
}
public  int size(){
    return N;
}
public void push(Item item){
    Node oldFirst = first;
    first=new Node();
    first.item= item;
    first.next=oldFirst;
    N++;
}

public Item pop(){
    Item item=first.item;
    first = first.next;
    N--;
    return item;
}
//实现迭代遍历时返回的Iterator
private class AIterator implements Iterator<Item>{
    private Node current=first;
    public boolean hasNext(){return current!=null;}
    public Item next(){
        Item item=current.item;
        current=current.next;
        return item;
    }
    @Override
    public void remove() {
    }
}
@Override
public Iterator<Item> iterator() {
    return new AIterator();
}

 

分享到:
评论

相关推荐

    【JDK1.8源码剖析】内部迭代器 Iterable接口

    一个类如果实现了Iterable接口,就意味着“该类本身支持遍历”,并可以通过for-each这种循环语法来直接遍历。当然,一个类如果没有实现Iterable接口,也可以通过挂载外部迭代器Iterator进行遍历。 此外,内部迭代器...

    Java源码分析Iterable.pdf

    Java源码分析Iterable.pdf

    is-empty-iterable:检查Iterable是否为空

    检查Iterable是否为空 比Array.from(iterable).length效率更高,因为它仅迭代第一项,这对于动态迭代器可能会产生很大的影响,例如Generator执行昂贵的操作。 安装 $ npm install is-empty-iterable 用法 import ...

    详解Java中Iterable与Iterator用法

    在本文中小编给大家分享了关于Java中Iterable与Iterator的用法知识点内容,有兴趣的朋友们可以学习下。

    Java实现Stack类

    public class Stack&lt;Item&gt; implements Iterable&lt;Item&gt; { private int N; private Node&lt;Item&gt; first; private static class Node&lt;Item&gt; { private Item item; private Node&lt;Item&gt; next; } public Stack() { ...

    Java 基础核心总结 +经典算法大全.rar

    Iterable 接口顶层接口 ArrayList Vector LinkedList 类Stack HashSet TreeSet LinkedHashSet 类 PriorityQueue HashMap TreeMap 类 LinkedHashMap 类 Hashtable 类IdentityHashMap 类WeakHashMap 类 Collections 类...

    java 中 Iterator 与Iterable的作用

    java 中 Iterator 与Iterable的作用;java语言需要更多基础沉淀,扎扎实实,后面的各种项目都会如何天翼。进行更高阶的用法和一些框架的原理都离开最基础的东西,基础虽然枯燥,但是也很有乐趣。

    mesh.js, 异步iterable迭代器的实用工具库.zip

    mesh.js, 异步iterable迭代器的实用工具库 Mesh是一个用于异步iterable迭代器的实用工具库。动机这个库最初是用来处理复杂的数据流,并统一应用程序在内部和外部的通信方式。 它还作为一个单一的单通道通道for所有...

    40道java集合面试题含答案(很全很详细)

    Collection接口继承自Iterable接口,这意味着可以通过for-each循环遍历集合元素。 List接口是有序的集合,可以包含重复的元素。List接口提供了按照索引位置访问元素的方法,以及添加、删除和修改元素的操作。List...

    JAVA jdk1.5的新特性

    注意:集合变量可以是数组或实现了Iterable接口的集合类 2.静态导入(这样调用一个静态方法的时候就不需要【类名.方法名】去调用了,直接写静态方法名就可 以了) 格式:import static java.lang.Math.* 注意:...

    java集合_浅谈Iterable和Iterator的区别

    下面小编就为大家带来一篇java集合_浅谈Iterable和Iterator的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java集合资料整理

    关于java集合资料的整理 集合接口:6个接口,表示不同集合类型,是集合框架的基础。 抽象类:5个抽象类,对集合接口的部分实现。可扩展为自定义集合类。 实现类:8个实现类,对接口的具体实现。 在很大程度上,...

    Python迭代器Iterable判断方法解析

    主要介绍了Python迭代器Iterable判断方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    tracee-api-0.3.0.zip

    Iterators.zip,基于迭代器和iterable接口的惰性集合基于iterable接口的java的惰性集合

    PyPI 官网下载 | iterable-queue-1.2.0.tar.gz

    资源来自pypi官网。 资源全名:iterable-queue-1.2.0.tar.gz

    JavaScript之iterable_动力节点Java学院整理

    为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。 具有iterable类型的集合可以通过新的for ... of循环来遍历。 for ... of循环是ES6引入的新的语法,请测试你的浏览器是否...

    java8stream源码-java8:Java8示例

    具有默认方法实现的接口。 新工具- 添加了新的编译器工具和实用程序,如“jdeps”以找出依赖关系。 Stream API - 新的流 API 以促进管道处理。 日期时间 API - 改进的日期时间 API。 可选- 强调正确处理空值的最佳...

    jdkgdxds:使libGDX的数据结构实现JDK接口

    libGDX的数据结构的问题在于,它们实现的接口受到极大限制,通常只实现java.io.Serializable和java.lang.Iterable 。 尽管Java 8功能已经在Android和GWT上提供了一段时间,并且甚至还没有到达iOS,但它们也仅限于...

    JAVA高级程序设计测试题含答案.docx

    JAVA高级程序设计测试题含答案 JAVA高级...第14题 【单选题】【2.00分】【概念理解】 哪个方法是实现Runnable接口必须实现的 [单选题] * JAVA高级程序设计测试题含答案全文共43页,当前为第4页。 A. wait() B. run()

    Iterable和Iterator的关系

    Iterator和Iterable 学习任何类和文档最标准的解释当然还是从jdk API里面学习,因为这个是最准确...java.lang包中 并且Collection继承了Iterable接口。 原创文章 3获赞 10访问量 285 关注 私信 展开阅读全文 作

Global site tag (gtag.js) - Google Analytics