Jak mogę utworzyć tablicę, tak jak robimy to w Javie?
int A[] = new int[N];
Jak mogę to zrobić w Kotlinie?
Jak mogę utworzyć tablicę, tak jak robimy to w Javie?
int A[] = new int[N];
Jak mogę to zrobić w Kotlinie?
Odpowiedzi:
Zgodnie z referencją tablice są tworzone w następujący sposób:
Dla prymitywnych typów Javy istnieją różne typy IntArray, DoubleArrayitp które przechowują rozpakowanych wartości.
Tworzone są za pomocą odpowiednich konstruktorów i funkcji fabrycznych:
val arrayOfZeros = IntArray(size) //equivalent in Java: new int[size]
val numbersFromOne = IntArray(size) { it + 1 }
val myInts = intArrayOf(1, 1, 2, 3, 5, 8, 13, 21)
Pierwsza jest podobna do tej w Javie, po prostu tworzy prymitywną tablicę wypełnioną domyślną wartością, np. Zero for Int, falsefor Boolean.
Tablice inne niż pierwotne są reprezentowane przez Array<T>klasę, gdzie Tjest typem elementów.
Tnadal może być jednym z typów prymitywnych w Javie ( Int, Boolean...), ale wartości wewnątrz zostaną zapakowane równoważnie do Javy Integer, Doublei tak dalej.
Ponadto Tmoże mieć wartość null i non-null, jak Stringi String?.
Są one tworzone w podobny sposób:
val nulls = arrayOfNulls<String>(size) //equivalent in Java: new String[size]
val strings = Array(size) { "n = $it" }
val myStrings = arrayOf("foo", "bar", "baz")
val boxedInts = arrayOfNulls<Int>(size) //equivalent in Java: new Integer[size]
val boxedZeros = Array(size) { 0 }
Array<Int>(size)nie kompiluje się. Dzieje się tak, ponieważ nie można utworzyć tablicy niepodlegającej wartości null bez podania elementów.
W Kotlinie tworzenie IntArray o rozmiarze N jest proste. Użyj IntArray(n)lub odpowiedniego typu, dokładnie opisanego w odpowiedzi klawisza skrótu.
Korzystając z tablicy o stałym rozmiarze, możesz użyć Destrukturyzacji Kotlin
// Create fixed sized array
val point = IntArray(2)
// Access values directly
val (x, y) = point
W tym przypadku xzostanie pobrany z indeksu 0, yz indeksu 1 itd.
int, ale w przypadku obiektów jest stackoverflow.com/questions/32679060/ ...