自己编写集合对象,怎么做?
自己编写集合对象,怎么做?
我想做一个集合对象books,它的元素是book对象,怎样编写?
要继承什么对象?怎么实现foreach{book in books},next()等方法.
问题点数:100、回复次数:16Top
1 楼BasaraTracy(不屈斗志)回复于 2005-03-02 12:12:18 得分 0
帮你顶Top
2 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-03-02 12:20:53 得分 0
实现List或者Set接口Top
3 楼vgvg(上帝在关闭一扇窗的同时,在别处打开了一扇门。可这扇门迟迟不开,我只好破门而入!)回复于 2005-03-02 12:22:19 得分 0
class Books{
private Vector books;
public Books(){
books=new Vector();
}
public void add(book b){
books.add(b);
}
...
...
...
}Top
4 楼5413tianyu(天下)回复于 2005-03-02 14:06:27 得分 0
我希望能够使用foreach(book in books),如何实现?
Top
5 楼wjh0088()回复于 2005-03-02 14:42:41 得分 0
顶一下吧Top
6 楼chinajava(chinajava)回复于 2005-03-02 15:20:30 得分 100
import java.util.Iterator;
import java.util.Vector;
import java.util.NoSuchElementException;
import java.lang.UnsupportedOperationException;
public class Vecterator implements Iterator
{
Vector iteratee;
int count;
public Vecterator(Vector v)
{
iteratee = v;
count = 0;
}
public boolean hasNext()
{
return count < iteratee.size();
}
public Object next()
{
synchronized (iteratee)
{
if (count < iteratee.size())
{
return iteratee.elementAt(count++);
}
}
throw new NoSuchElementException("VectorIterator");
}
public void remove()
{
throw new UnsupportedOperationException();
}
}
Top
7 楼congbailing_914(静下心来学习《java编程思想》,打好基础!不玩了~!)回复于 2005-03-03 16:50:53 得分 0
顶!Top
8 楼maxchou(草蜢仔)回复于 2005-03-06 15:49:50 得分 0
基本同意 chinajava(chinajava)的做法Top
9 楼tigerlg(tigerlg)回复于 2005-03-07 14:31:24 得分 0
看一看jdk 的src 你就明白了Top
10 楼tim90(Piece of my wish)回复于 2005-03-09 15:59:07 得分 0
chinajava里面再加上下面的就更完整了
public void add(book b){
books.add(b);
}
Top
11 楼tangqiuzheng(恭喜发财万事如意)回复于 2005-03-09 16:22:55 得分 0
java.util.Vector books =new java.util.Vector();
Book book1,book2;
books.addElement(book1);
books.addElement(book2);
java.util.Enumeration e=books.elements();
while(e.hasMoreElements())
{
Book a=e.nextElement();
//a.......
}
Top
12 楼tangqiuzheng(恭喜发财万事如意)回复于 2005-03-09 16:25:14 得分 0
上面的WHILE中,第一次循环时,a=book1;第二次时,a=book2,第三次时,while条件为假,跳出循环.Top
13 楼yinwenjie(java入门中)回复于 2005-03-11 11:16:40 得分 0
方法太多了,继承、实现、聚合都可以.但是如果叫我自己写,会优先选择聚合的Top
14 楼henryqqq(不再如此郁闷)回复于 2005-03-11 15:00:30 得分 0
仿照ArrayList进行实现,将所有输入,输出参数的类型 Object 改为 Book 就可以了,Top
15 楼qqqkingppp(岚枫)回复于 2005-03-13 13:02:30 得分 0
自己实现add(),remove()方法Top
16 楼5413tianyu(天下)回复于 2005-03-28 10:45:06 得分 0
谢谢大家,chinajava(chinajava)的方法非常好,已经实现了我的要求.Top




