Если у меня есть синхронизированная коллекция, подобная этой
Collection c = Collections.synchronizedCollection (myCollection);
javadoc для synchronizedCollection
упоминает, что внешняя итерация должна быть синхронизирована следующим образом:
synchronized (c) {
Iterator i = c.iterator();
while (i.hasNext()) {
process (i.next());
}
}
Могу ли я предположить, что c.toArray ()
синхронизирован и, следовательно, никаких изменений в коллекции при выполнении метода не произойдет?
Или мне нужно также необходимо синхронизировать его:
synchronized (c) {
c.toArray();
}