У меня есть два класса, Foo и Bar. У каждого Foo есть имя и куча предметов. Бар содержит кучу Foo's, каждый с уникальным именем.
Bar имеет метод AddEntry, который принимает fooName и элемент (1), если foo с fooName уже находится в панели, добавляет другой элемент в Foo или (2), если foo с fooName отсутствует в панели , создает Foo с этим именем и добавляет элемент в новый Foo.
Это схема того, как я реализую. Есть ли способ лучше? Я просто изучаю Java, но это кажется неуклюжим
class Foo { // a name and some items
String fooName;
List<Object> items = new ArrayList<Object>;
Foo(name) {...} // create a named Foo
AddtoFoo(item) {...} // add an item to this Foo
}
class Bar { // a bunch of foo's
List<Foo> fooList = new Arraylist<Foo>;
void AddEntry(String fooName, Object item) {
boolean member = false;
for(Foo foo : fooList){
if{foo.name == fooName) {
member = true;
foo.AddtoFoo(item); // adds an item to this foo
break;
}
}
if(member == false) {
Foo foo = new Foo(fooName); // creates a named foo
foo.AddtoFoo(item); // adds the item
fooList.add(foo); // maintain our list of foo's
}
}
}