Какая лучшая реализация получения значения "последнего" класса?
Схематично структура проекта такая:
class Main -> class A -> class B -> class C
Класс A:
class A {
private ArrayList<B> bs = new ArrayList()<>;
public ArrayList<b> getB(){
return bs;
}
}
Класс B:
class B {
private ArrayList<C> cs = new ArrayList()<>;
public ArrayList<C> getC(){
return cs;
}
}
Класс С:
class C {
private int value;
public int getValue(){
return this.value;
}
}
В классе Main необходимо получить сумму всех значений переменных value из класса С.
Класс Main:
public class Main {
public static void main(String[] args) {
A aClass = new A();
for(int i = 0; i < aClass.getB.size(); i++){
for(int j = 0; j < aClass.getB().get(i).getC().size(); j++){
value += aClass.getB().get(i).getC().get(j).getValue();
}
}
Каким образом лучше это реализовать? Считается ли нормальной реализацией способ, который использован в коде выше - путем получения целого ArrayList?
Ответы (1 шт):
Автор решения: instahipsta282
→ Ссылка
Ну, как мне видится, тут в любом случае придется перебирать оба списка, однако сделать это можно элегантнее:
Допустим, с помощью foreach:
for(B bClass : aClass.getB) {
for(C cClass : bClass.getC) {
value += cClass.getValue();
}
}