List a MutableList
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 67 z 93.
Do tej pory pracowałeś z pojedynczymi zmiennymi, które przechowują pojedyncze wartości. Ale co, jeśli musisz przechować kolekcję elementów, na przykład listę imion lub serię liczb? Właśnie do tego służą listy.
Kotlin udostępnia dwa rodzaje list: List i MutableList. Kluczowa różnica polega na tym, czy można modyfikować listę po jej utworzeniu.
List jest tylko do odczytu. Jego interfejs nie udostępnia operacji dodawania, usuwania ani zastępowania elementów. Nie gwarantuje to głębokiej niezmienności: ten sam bazowy mutowalny obiekt może ulec zmianie za pośrednictwem innego odwołania:
val fruits = listOf("Apple", "Banana", "Cherry")
val numbers = listOf(1, 2, 3, 4, 5)MutableList umożliwia modyfikacje. Możesz dodawać nowe elementy, usuwać istniejące lub aktualizować wartości:
val fruits = mutableListOf("Apple", "Banana")
fruits.add("Cherry") // Teraz zawiera: Apple, Banana, CherryUżywaj listOf(), gdy Twoje dane nie powinny się zmieniać, a mutableListOf(), gdy potrzebujesz elastyczności. To rozróżnienie pomaga zapobiegać przypadkowym modyfikacjom i sprawia, że zamiar stojący za Twoim kodem jest jaśniejszy.
Wyzwanie
ŚredniUtwórz listę tylko do odczytu o nazwie colors, zawierającą trzy ciągi znaków: "Red", "Green" i "Blue".
Następnie utwórz modyfikowalną listę o nazwie numbers, zawierającą początkowo dwie liczby całkowite: 10 i 20.
Dodaj wartość 30 do listy numbers.
Na koniec wypisz obie listy w osobnych wierszach, w tej kolejności:
- Lista
colors - Lista
numbers
Spróbuj swoich sił
fun main() {
// TODO: Utwórz listę tylko do odczytu o nazwie 'colors' z elementami "Red", "Green", "Blue"
// TODO: Utwórz listę modyfikowalną o nazwie 'numbers' z elementami 10 i 20
// TODO: Dodaj 30 do listy numbers
// TODO: Wypisz obie listy w osobnych wierszach (najpierw colors, potem numbers)
}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 FizzBuzz3Obsł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 danych12Podstawy list
List a MutableListDostęp do elementówModyfikowanie listMetody listPair i TriplePowtórka – lista produktówPowtórka – odwrócona listaPoćwicz samodzielnie: Edytor online Kotlin