আমি কেবল একটি আকার সরবরাহ করে কীভাবে জাভা জাতীয় কোটলিনে একটি অ্যারে তৈরি করতে পারি?


90

জাভাতে যেমন করি তেমন একটি অ্যারে আমি কীভাবে তৈরি করতে পারি?

int A[] = new int[N];

আমি কীভাবে কোটলিনে এটি করতে পারি?


4
আমি জানি আপনি সম্পর্কে জিজ্ঞাসা করছেন intতবে অবজেক্টের জন্য এখানে স্ট্যাকওভারফ্লো.com
প্রশ্নগুলি

উত্তর:


157

রেফারেন্স অনুসারে , অ্যারেগুলি নিম্নলিখিত উপায়ে তৈরি করা হয়:

  • জাভার আদিম ধরনের সেখানে স্বতন্ত্র ধরনের হয় IntArray, DoubleArrayইত্যাদি যা সংরক্ষণ unboxed মান।

    এগুলি সংশ্লিষ্ট কন্সট্রাক্টর এবং ফ্যাক্টরি ফাংশন দিয়ে তৈরি করা হয়:

    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)
    

    যে জাভা, এটা ঠিক একটি আদিম ডিফল্ট মান যেমন ভরা অ্যারের জন্য শূন্য সৃষ্টি প্রথম এক অনুরুপ হয় Int, falseজন্য Boolean

  • আদিম-অ্যারেগুলি Array<T>শ্রেণি দ্বারা প্রতিনিধিত্ব করা হয় , যেখানে Tআইটেমের ধরণ রয়েছে।

    Tজাভাতে ( Int,, Boolean...) এখনও এক ধরণের আদিম হতে পারে তবে এর ভিতরে থাকা মানগুলি জাভা এর সমানভাবে বক্স করা হবে Integer, Doubleইত্যাদি।

    এছাড়াও, Tউভয়ই naclable এবং নন-নালString এবং মত হতে পারে String?

    এগুলি একইভাবে তৈরি করা হয়েছে:

    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 }
    

19
Array<Int>(size)সংকলন করে না এর কারণ আপনি উপাদান সরবরাহ না করে একটি অ-শনীয় অ্যারে তৈরি করতে পারবেন না।
কিরিল রাখমান

4
@ কিরিলখাঁমন, আপনার মন্তব্যের জন্য ধন্যবাদ, এটি একটি অজান্তেই ভুল ছিল। স্থির।
হটকি

0

কোটলিনে, আকার এন এর একটি ইন্টারআরে তৈরি করা সহজ। IntArray(n)হটকি-র উত্তরে পুঙ্খানুপুঙ্খভাবে বিশদ হিসাবে ব্যবহার করুন বা উপযুক্ত প্রকারটি।

আপনার স্থির আকারের অ্যারেটি ব্যবহার করার সময়, আপনি কোটলিন ডেস্ট্রাকচারিং ব্যবহার করতে পারেন

// Create fixed sized array
val point = IntArray(2)

// Access values directly
val (x, y) = point

এই ক্ষেত্রে, xসূচক 0 থেকে নেওয়া হবে, yসূচক 1 থেকে ইত্যাদি etc.


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.