কোটলিনের একটি অ্যারেলিস্টে কীভাবে কোনও আইটেম যুক্ত করবেন?


উত্তর:


103

কেবলমাত্র স্থানান্তরিত ব্যক্তিদের জন্য java, Kotlin Listইনকে ডিফল্টরূপে তালিকার অপরিবর্তনীয় এবং পরিবর্তনীয় সংস্করণ বলা হয় MutableList

অতএব যদি আপনার মতো কিছু থাকে:

val list: List<String> = ArrayList()

add()এক্ষেত্রে তালিকা অপরিবর্তনীয় হওয়ায় আপনি কোনও পদ্ধতি পাবেন না । সুতরাং আপনাকে MutableListনীচে প্রদর্শিত হিসাবে একটি ঘোষণা করতে হবে :

val list: MutableList<String> = ArrayList()

এখন আপনি একটি add()পদ্ধতি দেখতে পাবেন এবং আপনি যে কোনও তালিকায় উপাদান যুক্ত করতে পারেন।


4
ধন্যবাদ!
অ্যারেতে

4
খুব ভাল, আমি যা খুঁজছি ধন্যবাদ.
স্যাম চেন

val list: MutableList<String> = ArrayList()এবং এর মধ্যে ব্যবহারের পার্থক্য কী val list = mutableListOf<String>()?
স্যাম চেন

79

যদি আপনার একটি অপ্রয়োজনীয় সংগ্রহ থাকে:

val list = mutableListOf(1, 2, 3)
list += 4

আপনার যদি একটি অপ্রয়োজনীয় সংগ্রহ থাকে:

var list = listOf(1, 2, 3)
list += 4

আমি ব্যবহার করুন নোট করুন val পরিবর্তনের তালিকার জন্য জোর দিয়ে যে বস্তুটি সর্বদা একই থাকে তবে এর সামগ্রী পরিবর্তন হয়।

অপরিবর্তনীয় তালিকার ক্ষেত্রে, আপনাকে এটি তৈরি করতে হবে var+=অপারেটর অতিরিক্ত মান সহ একটি নতুন অবজেক্ট তৈরি করে ।


7
করছেন +=একটি অ চপল তালিকায় একটি নতুন চপল-তালিকায় তালিকার সব উপাদান কপি এবং তারপর আপনার প্রকৃত তালিকায় reassign করতে হবে। আমি জানতাম না যে এটি আপনার তালিকা হিসাবে ঘোষণা করা উপযুক্ত var। যাইহোক, একটি তালিকা ভেরি ঘোষণা করা আমার পক্ষে ভাল ধারণা নয়।
crgarridos

4
যদি কোনও তালিকা অপরিবর্তনীয় থাকে তবে এটিকে ঘোষণা করার মতো আপনার কাছে অন্য কোনও বিকল্প নেই var। যদি কোনও অপরিবর্তনীয় তালিকা হিসাবে ঘোষণা করা হয় valতবে তালিকার চেয়ে কোনও পরিবর্তন হতে পারে না। এটি অন্য ভেরিয়েবলে পুনরায় অর্পণ করা সম্ভব হবে।
guenhter

4
ঠিক ঠিক, আমি আমার ভেরিয়েবলগুলির রেফারেন্সটি পরিবর্তন করার অনুমতি দিতে চাই না। এটি বাহ্যিক / সমঝোতা কার্যগুলিতে একটি পার্শ্ব প্রতিক্রিয়া হতে পারে। যুক্তিটি বের করার জন্য একটি অনুলিপি তৈরি করা ভাল। তবে এটি প্রশ্নের আওতার বাইরে।
crgarridos

24

আপনি যদি জাভা অ্যারেলিস্ট নির্দিষ্টভাবে ব্যবহার করতে চান তবে আপনি এর মতো কিছু করতে পারেন:

fun initList(){
    val list: ArrayList<String> = ArrayList()
    list.add("text")
    println(list)
}

অন্যথায় @ গুয়েন্টার উত্তরটি আপনি সন্ধান করছেন।

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