您的位置:首页 > 编程语言 > Java开发

背包实现

2016-09-02 00:03 260 查看
背包是一种不支持从中删除元素的集合数据类型,它的目的就是帮助用例手机元素并迭代遍历所有收集到的元素。理解背包的概念,可以想象一个非常喜欢收集弹子球的人,他将所有的弹子球都放在一个背包里,一次一个,并且会不时在所有的弹子球都放在一个背包里,一次一个,并且会不时在所有的弹子球中寻找某一颗拥有某种特点的弹子球。

import java.util.Iterator;
public class Bag<Item> implements Iterable<Item>
{
private Node first;
private class Node
{
Item item;
Node next;
}
public void add(Item item)
{
Node oldfirst = first;
first = new Node();
first.item = item;
first.next = oldfirst;
}
public Iterator<Item> iterator()
{
return new ListIterator();
}
private class ListIterator 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;
}
}

public static void main(String[] args)
{
Bag<String> b = new Bag<String>();
b.add("aaa");
b.add("bbb");
b.add("ccc");
for(Iterator<String> iter=b.iterator();iter.hasNext()==true;)
{
System.out.println(iter.next());

}
}

}

输出

Ccc
Bbb
aaa
 
和栈如出一辙。不再做小结和分析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  背包 java 链表