您的位置:首页 > 其它

简单模拟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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息