Одинаковый ли будет результат выполнения двух операций

 
 
 
Сообщения:2
Совпадут ли действия вот этого:
		for(BookChapter chapter : chapters) {
			chapter.setKey(idCount);
			book.add(chapter);
			idCount++;
		}


И вот этого:
		Arrays.asList(chapters).forEach(chapter -> {
			((BookChapter) chapter).setKey(idCount);
			book.add((BookChapter) chapter);
			idCount++;
		});


В частности, меня беспокоит строка idCount++; forEach работает как цикл?

book - это ArrayList, chapters - обычный массив, idCount - int, BookChapter - это содержимое chapters
Изменен:09 янв 2019 17:56
 
 
Сообщения:540
lds:
forEach работает как цикл?

collection.stream().forEach() и Сollection.forEach() делают одно и то же, но по моему для stream порядок обхода не гарантирован в отличие от Collection. Т.е. если порядок важен, то первый вариант.

З.Ы. Если у вас простой массив задлянафига этот огород со стримами? Только мусор плодить и читается хуже.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет