В соответствии с вашим вопросом вы хотите «Создать коллекцию объектов A», поэтому я хотел бы убедиться, что ваш ответ предусматривает это, а не только один A.
Я также добавил, используя массивы. asList (для добавленных записей), для краткости
public static void main(String[] args) {
List<Model> modelsForB = new ArrayList<>();
modelsForB.add(new Model("B1 "));
modelsForB.add(new Model("B2 "));
B b = new B(modelsForB);
B b1 = new B(Arrays.asList( new Model("B1.1" ), new Model("B1.2" )));
List<Model> modelsForA = new ArrayList<>();
modelsForA.add(new Model("A1 "));
modelsForA.add(new Model("A2 "));
A a = new A(modelsForA, b);
A a1 = new A(Arrays.asList( new Model("A1.1" ), new Model( "A1.2" )), b1 );
List<A> listOfA = Arrays.asList( a, a1 );
// If you need the collection, per the requirement, otherwise just use forEach to print instead of collect
final List<String> collected = listOfA.stream()
.flatMap( x -> Stream.concat( x.models.stream(), x.b.models.stream() ))
.map(m -> m.string )
.collect(Collectors.toList());
collected.forEach(System.out::println);
}