Привет, я новичок в Java, и я только что столкнулся со следующей проблемой в домашнем задании. Мне нужно написать класс, который добавляет новый объект в список при вызове метода void. В качестве подсказки дана структура метода итератора, поэтому основная структура моего кода теперь выглядит так:
public class objectList implements Iterable<Obj> {
private ArrayList<Obj> objectList;
attribute_a A;
attribute_b B;
attribute_c C;
public objectList(attribute_a A, attribute_b B, attribute_c C){
objectList = new ArrayList<Obj>;
this.A = A;
this.B = B;
this.C = C;
}
public void extendList(attribute_a A, attribute_b B, attribute_c C){
objectList.add(new Obj(A,B,C));
}
public Iterator<Obj> iterator(){
return objectList.iterator();
}
@Override
public String toString(){
newstr = "";
for(i = 0;i<objectList.size();i++)
{
//Assuming Obj has the method toString()
//It prints out all details of each object, then join into one string
newstr += objectList.get(i).toString();
}
return newstr;
}
}
Мне сказали просто использовать java.util.iterator, а не пользовательский итератор, поэтому он избавил меня от определения HasNext(), next(), remove() и т. д.
Редактировать: моя цель - иметь возможность печатать объекты, хранящиеся в objectList, после того, как extendList() вызывается несколько раз, т.е. в списке хранится много элементов. Теперь я могу распечатать только последний элемент в нем (в списке только 1 элемент).
Что мне нужно сделать, чтобы «курсор» автоматически указывал на следующий элемент -> получить атрибут -> выполнять задачи для атрибута -> следующий элемент и т. д., пока список не будет завершен?