Operatory sekwencji
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 81 z 93.
Kotlin udostępnia operator + do łączenia list, dzięki czemu można łatwo scalać kolekcje. Działa to podobnie do łączenia ciągów znaków.
Aby połączyć dwie listy w jedną, po prostu użyj operatora +:
val first = listOf(1, 2, 3)
val second = listOf(4, 5, 6)
val combined = first + second
println(combined) // [1, 2, 3, 4, 5, 6]Możesz też dodać pojedynczy element do listy za pomocą tego samego operatora:
val colors = listOf("Red", "Green")
val moreColors = colors + "Blue"
println(moreColors) // [Red, Green, Blue]Operator - usuwa elementy z listy. Tworzy nową listę bez określonego elementu:
val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - 2
println(result) // [1, 3, 2, 4]Zwróć uwagę, że usuwane jest tylko pierwsze wystąpienie elementu. Aby usunąć wszystkie pasujące elementy, odejmij listę:
val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - listOf(2)
println(result) // [1, 3, 4]Te operatory zawsze zwracają nową listę: oryginalne listy pozostają niezmienione. Dzięki temu możesz ich bezpiecznie używać, nie martwiąc się, że przypadkowo zmodyfikujesz swoje dane.
Wyzwanie
ŚredniOtrzymasz dwie listy liczb całkowitych oraz jedną liczbę całkowitą do usunięcia. Połącz obie listy za pomocą operatora +, a następnie usuń wszystkie wystąpienia podanej liczby całkowitej za pomocą operatora - z listą.
Wypisz wynikową listę.
Format wejścia:
- Pierwszy wiersz: liczba całkowita
noznaczająca liczbę elementów na pierwszej liście - Następne
nwierszy: liczby całkowite dla pierwszej listy - Następny wiersz: liczba całkowita
moznaczająca liczbę elementów na drugiej liście - Następne
mwierszy: liczby całkowite dla drugiej listy - Ostatni wiersz: liczba całkowita do usunięcia z połączonej listy
Format wyjścia:
Wypisz wynikową listę w domyślnym formacie listy Kotlin.
Przykład:
Jeśli pierwsza lista to [1, 2, 3], druga lista to [2, 4, 2], a liczba do usunięcia to 2, połączona lista będzie wynosić [1, 2, 3, 2, 4, 2]. Po usunięciu wszystkich wystąpień 2 wynikiem powinno być:
[1, 3, 4]Spróbuj swoich sił
fun main() {
// Wczytaj pierwszą listę
val n = readLine()!!.toInt()
val list1 = mutableListOf<Int>()
repeat(n) {
list1.add(readLine()!!.toInt())
}
// Wczytaj drugą listę
val m = readLine()!!.toInt()
val list2 = mutableListOf<Int>()
repeat(m) {
list2.add(readLine()!!.toInt())
}
// Wczytaj liczbę całkowitą do usunięcia
val toRemove = readLine()!!.toInt()
// TODO: Napisz tutaj swój kod
// Połącz obie listy za pomocą operatora +
// Usuń wszystkie wystąpienia toRemove za pomocą operatora - i listy
// Wyświetl wynikową listę
println(result)
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory – część 1
Operatory arytmetyczneOperator moduloPrzypisanie z operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz14Zaawansowane listy
Wycinanie listy za pomocą SubListWycinanie listy za pomocą Take i DropOperatory sekwencjiMetoda ContainsPowtórka — wyszukiwanie strony3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danychPoćwicz samodzielnie: Edytor online Kotlin