简单模拟LinkedList-迭代器设计模式-马士兵设计模式教程 .
2012-07-27 14:42
507 查看
import java.util.Iterator; //LinkedLink其实是双向链表 public class MyLinkedList<E> implements Iterable<E>{ int size; private Node head=null;//头部节点 private Node tail=null;//尾部节点 public void add(E e){ Node node=new Node(e,null); if(head==null){ head=node; tail=node; }else{ tail.setNext(node); tail=node; } size++; } public int getSize(){ return size; } public Iterator<E> iterator() { return new Iterator<E>(){ Node temp=head; public boolean hasNext() { return temp!=null; } public E next() { E data=temp.data; temp=temp.next; return data; } public void remove() { }}; } class Node{//内部类,节点 private E data; private Node next; public Node(E data, Node next) { super(); this.data = data; this.next = next; } public E getData() { return data; } public void setData(E data) { this.data = data; } public Node getNext() { return next; } public void setNext(Node next) { this.next = next; } } } public class Test2 { public static void main(String[] args) { MyLinkedList<String> mylink=new MyLinkedList<String>(); mylink.add("a"); mylink.add("v"); mylink.add("vw"); System.out.println("元素个数:"+mylink.getSize()); for(String data:mylink){ System.out.println(data); } } /** 元素个数:3 a v vw */ }
本文转自:http://blog.csdn.net/wxwzy738/article/details/7604804
相关文章推荐
- 简单模拟ArrayList-迭代器设计模式-马士兵设计模式教程
- 简单模拟Comparator-策略设计模式-马士兵设计模式教程
- 简单模拟ArrayList-迭代器设计模式
- 简单模拟ArrayList-迭代器设计模式
- 设计模式(8) - 迭代器模式(iterator)- 实现ArrayList和linkedList的迭代器
- 责任链或过滤器模式3-模拟tomcat的过滤器-马士兵设计模式教程 .
- 适配器设计模式,简单的Java代码模拟
- 跟我学设计模式视频教程——面向对象理论,简单工厂,工厂方法
- 责任链或过滤器模式2-使用过滤链-马士兵设计模式教程 .
- 简单模拟Android中AlertDialog的Builder设计模式
- Java-马士兵设计模式学习笔记-工厂模式-模拟Spring读取Properties文件
- Java基础课程学习总结,使用LinkedList简单模拟队列数据结构和堆栈数据结构的实现
- 简单模拟Comparator-策略设计模式
- Java-马士兵设计模式学习笔记-工厂模式-用Jdom模拟Spring
- 设计模式-iterator 简单模拟ArrayList与LinkList
- js设计模式之迭代器模式学习笔记--封装简单的数组迭代器
- JavaScript设计模式之单例模式简单实例教程
- 设计模式之二:观察者模式(简单实现(气象站模拟流程))
- 设计模式之Iterator:简单模拟java中集合类的实现
- 简单模拟Build设计模式