Java'da yaptığımız gibi nasıl bir Dizi oluşturabilirim?
int A[] = new int[N];
Bunu Kotlin'de nasıl yapabilirim?
Java'da yaptığımız gibi nasıl bir Dizi oluşturabilirim?
int A[] = new int[N];
Bunu Kotlin'de nasıl yapabilirim?
Yanıtlar:
Referansa göre diziler şu şekilde oluşturulur:
Java'nın ilkel türleri için IntArray
, kutulanmamış değerleri DoubleArray
depolayan farklı türler vb . Vardır .
İlgili kurucular ve fabrika fonksiyonları ile oluşturulurlar:
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)
İlki Java'dakine benzer, sadece varsayılan değerle doldurulmuş ilkel bir dizi oluşturur, örneğin sıfır for Int
, false
for Boolean
.
İlkel olmayan diziler , öğe türü olan Array<T>
sınıfla temsil edilir T
.
T
Java'daki ilkel türlerden biri olmaya devam edebilir ( Int
,, Boolean
...), ancak içindeki değerler Java'nınkine eşit olarak kutu içine alınır Integer
, Double
vb.
Ayrıca, T
her ikisi de olabilir null ve boş olmayan gibi String
ve String?
.
Bunlar benzer şekilde oluşturulur:
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)
derlemez. Bunun nedeni, öğeleri sağlamadan boş değer atanamaz bir dizi oluşturamazsınız.
Kotlin'de, N boyutunda bir IntArray oluşturmak basittir. IntArray(n)
Kısayol tuşunun yanıtında ayrıntılı olarak açıklandığı gibi veya uygun türü kullanın .
Sabit boyutlu dizinizi kullanırken Kotlin Destructuring'i kullanabilirsiniz.
// Create fixed sized array
val point = IntArray(2)
// Access values directly
val (x, y) = point
Bu durumda x
dizin 0'dan, y
dizin 1'den vb. Alınacaktır.
int
ama Nesneler için stackoverflow.com/questions/32679060/… var