Làm thế nào để thêm một mục vào một ArrayList
trong Kotlin?
Câu trả lời:
Đối với những người vừa mới di chuyển từ java
, In Kotlin
List
được mặc định là bất biến và phiên bản có thể thay đổi của Danh sách được gọi MutableList
.
Do đó, nếu bạn có một cái gì đó như:
val list: List<String> = ArrayList()
Trong trường hợp này, bạn sẽ không nhận được một add()
phương thức vì danh sách là bất biến. Do đó, bạn sẽ phải khai báo MutableList
như hình dưới đây:
val list: MutableList<String> = ArrayList()
Bây giờ bạn sẽ thấy một add()
phương thức và bạn có thể thêm các phần tử vào bất kỳ danh sách nào.
val list: MutableList<String> = ArrayList()
và là val list = mutableListOf<String>()
gì?
Nếu bạn có bộ sưu tập MUTABLE :
val list = mutableListOf(1, 2, 3)
list += 4
Nếu bạn có bộ sưu tập NGAY LẬP TỨC :
var list = listOf(1, 2, 3)
list += 4
lưu ý rằng tôi sử dụng val
cho danh sách có thể thay đổi để nhấn mạnh rằng đối tượng luôn giống nhau, nhưng nội dung của nó thay đổi.
Trong trường hợp danh sách bất biến, bạn phải lập nó var
. Một đối tượng mới được tạo bởi +=
toán tử với giá trị bổ sung.
+=
trong danh sách không thể thay đổi, yêu cầu sao chép tất cả các phần tử của danh sách trong một danh sách có thể thay đổi mới và sau đó gán lại nó vào danh sách thực của bạn. Tôi không biết việc khai báo danh sách của bạn là phù hợp var
. Dù sao, khai báo một danh sách một var không phải là một ý kiến hay đối với tôi.
var
. Nếu một danh sách không thay đổi được khai báo là val
, danh sách không thể thay đổi bao giờ. Chỉ cần gán lại nó cho một biến khác là có thể.