背包实现

来源:互联网 发布:天天炫斗刷钻石软件 编辑:程序博客网 时间:2024/06/13 15:05

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


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

 

和栈如出一辙。不再做小结和分析。



0 0