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 DoubleArraydepolayan 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, falsefor Boolean.
İlkel olmayan diziler , öğe türü olan Array<T>sınıfla temsil edilir T.
TJava'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, Doublevb.
Ayrıca, Ther ikisi de olabilir null ve boş olmayan gibi Stringve 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 xdizin 0'dan, ydizin 1'den vb. Alınacaktır.
intama Nesneler için stackoverflow.com/questions/32679060/… var