Скажите, что у меня есть два Collections
:
Collection< Integer > foo = new ArrayList< Integer >();
Collection< Integer > bar = new ArrayList< Integer >();
и скажите, что иногда я хотел бы выполнять их по отдельности, но иногда вместе.Есть ли способ создать обертку вокруг foo
и bar
, чтобы я мог выполнять итерацию по объединенной паре, но который также обновляется при изменении foo
и bar
?(то есть Collection.addAll()
не подходит).
Например:
Collection< Integer > wrapper = ... // holds references to both bar and foo
foo.add( 1 );
bar.add( 99 );
for( Integer fooInt : foo ) {
System.out.println( fooInt );
} // output: 1
for( Integer barInt : bar ) {
System.out.println( barInt );
} // output: 99
for( Integer wrapInt : wrapper ) {
System.out.println( wrapInt );
} // output: 1, 99
foo.add( 543 );
for( Integer wrapInt : wrapper ) {
System.out.println( wrapInt );
} // output: 1, 99, 543
Спасибо!