จะเพิ่มรายการArrayList
ใน Kotlin ได้อย่างไร?
จะเพิ่มรายการArrayList
ใน Kotlin ได้อย่างไร?
คำตอบ:
สำหรับคนที่เพิ่งย้ายจากjava
ในโดยไม่เปลี่ยนรูปการเริ่มต้นและรุ่นไม่แน่นอนของรายการที่เรียกว่าKotlin
List
MutableList
ดังนั้นหากคุณมีสิ่งที่ต้องการ:
val list: List<String> = ArrayList()
ในกรณีนี้คุณจะไม่ได้รับadd()
วิธีการเนื่องจากรายการไม่เปลี่ยนรูป ดังนั้นคุณจะต้องประกาศMutableList
ตามที่แสดงด้านล่าง:
val list: MutableList<String> = ArrayList()
ตอนนี้คุณจะเห็นadd()
วิธีการและคุณสามารถเพิ่มองค์ประกอบในรายการใดก็ได้
val list: MutableList<String> = ArrayList()
และval list = mutableListOf<String>()
?
หากคุณมีคอลเล็กชันMUTABLE :
val list = mutableListOf(1, 2, 3)
list += 4
หากคุณมีคอลเล็กชันIMMUTABLE :
var list = listOf(1, 2, 3)
list += 4
โปรดทราบว่าฉันใช้val
สำหรับรายการที่เปลี่ยนแปลงได้เพื่อเน้นว่าวัตถุนั้นเหมือนกันเสมอ แต่เนื้อหาจะเปลี่ยนไป
var
ในกรณีของรายการที่ไม่เปลี่ยนรูปที่คุณต้องทำให้มัน อ็อบเจ็กต์ใหม่ถูกสร้างขึ้นโดยตัว+=
ดำเนินการพร้อมค่าเพิ่มเติม
+=
ในรายการที่ไม่เปลี่ยนแปลงจำเป็นต้องคัดลอกองค์ประกอบทั้งหมดของรายการในรายการที่เปลี่ยนแปลงได้ใหม่จากนั้นกำหนดใหม่ให้กับรายการจริงของคุณ var
ผมไม่ทราบว่ามันเป็นที่เหมาะสมการประกาศรายชื่อของคุณเป็น อย่างไรก็ตามการประกาศรายชื่อตัวแปรไม่ใช่ความคิดที่ดีสำหรับฉัน
var
เช่นการประกาศเป็น หากรายการที่ไม่เปลี่ยนรูปถูกประกาศว่าเป็นval
รายการที่ไม่สามารถเปลี่ยนแปลงได้เลย เพียงแค่กำหนดใหม่ให้กับตัวแปรอื่นก็เป็นไปได้
หากคุณต้องการใช้ java ArrayList โดยเฉพาะคุณสามารถทำสิ่งนี้ได้:
fun initList(){
val list: ArrayList<String> = ArrayList()
list.add("text")
println(list)
}
ไม่เช่นนั้นคำตอบของ @guenhter คือสิ่งที่คุณกำลังมองหา