
осень / котлин3
.docxГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Старший преподаватель |
|
|
|
В.И. Ушаков |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ПРАКТИЧЕСКОЙ РАБОТЕ №3 |
МНОГОПОТОЧНОЕ ПРОГРАММИРОВАНИЕ |
по курсу: Разработка мобильных приложений. Основы языка программирования Kotlin |
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ гр. № |
4116 |
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2023
Задание
Вариант 2
Итерирование. Перепишите этот код с использованием внутреннего итерирования вместо внешнего.
int totalMembers =0;
for (Artist artist : artists){
Stream <Artist> members = artist.getMembers ();
totalMembers += members. count ();
}
Ход работы
Код из задания перебирает коллекцию artists с помощью цикла, поток участников записывается в переменную members, и с помощью count() подсчитывается количество участников в этом потоке. Код из задания написан на языке Java, на языке программирования Kotlin код будет выглядеть так:
var totalMembers = 0
for (artist in artists) {
val members: Stream<Artist> = artist.members.stream()
totalMembers += members.count().toInt()
}
Внешнее итерирование было заменено на внутреннее с использованием языка Kotlin. Функция sumby выполняет итерацию по коллекции artists, и для каждого artist подсчитывается количество элементов в списке members.
Листинг кода с использованием внутреннего итерирования:
val totalMembers = artists.sumBy { artist ->
artist.members.count()
}
Вывод: в ходе выполнения практической работы код с внешним итерированием был переписан на код с внутренним итерированием.