Ý tưởng là sử dụng hàm tạo List
để tạo danh sách với kích thước đã chỉ định, trong đó mỗi phần tử được tính bằng cách gọi hàm đã chỉ định
1
2
3
4
5
6
vui chính[] {
val n = 5
val danh sách. Danh sách = List[n] { 0 }
println[list]
}
Tải xuống mã
Đầu ra.
[0, 0, 0, 0, 0]
Để tạo điều kiện thay đổi cấu trúc cho danh sách, hãy sử dụng hàm tạo MutableList
. Chẳng hạn,
1
2
3
4
5
6
7
8
vui chính[] {
val n = 5
val danh sách. MutableList = MutableList[n] { 0 }
danh sách. removeAt[0]
println[list]
}
Tải xuống mã
Đầu ra.
[0, 0, 0, 0]
2. Sử dụng chức năng map[]
Một tùy chọn khác là tạo một phạm vi được sắp xếp theo thứ tự có kích thước yêu cầu và ánh xạ nó tới một số giá trị. Điều này có thể được thực hiện bằng cách sử dụng toán tử phạm vi và hàm map[]
1
2
3
4
5
6
vui chính[] {
val n = 5
val danh sách. Danh sách = . n [1..n]. bản đồ { 0 }
println[list]
}
Tải xuống mã
Đầu ra.
[0, 0, 0, 0, 0]
Hàm map[]
trả về danh sách chỉ đọc chứa kết quả của việc áp dụng hàm biến đổi đã cho cho từng phần tử. Để thêm hoặc xóa các phần tử khỏi danh sách, hãy chuyển đổi danh sách thành danh sách có thể thay đổi.
1
2
3
4
5
6
7
8
vui chính[] {
val n = 5
val danh sách. MutableList = . n [1..n]. bản đồ { 0 }. toMutableList[]
danh sách. removeAt[0]
println[list]
}
Tải xuống mã
Đầu ra.
[0, 0, 0, 0]
3. Sử dụng chức năng Collections.nCopies[]
Ngoài ra, chúng ta có thể sử dụng hàm tĩnh Collections.nCopies[]
để lấy danh sách bất biến bao gồm các bản sao được chỉ định của mục đã chỉ định
1
2
3
4
5
6
7
8
nhập java. sử dụng. Bộ sưu tập
vui chính[] {
val n = 5
val danh sách. Danh sách = Bộ sưu tập.nBản sao[n, 0]
println[list]
}
Tải xuống mã
Đầu ra.
[0, 0, 0, 0, 0]
Không sử dụng chức năng này trên các đối tượng có thể thay đổi, vì cùng một phiên bản của đối tượng sẽ được gán cho tất cả các chỉ số. Để thêm hoặc xóa các phần tử khỏi danh sách, hãy chuyển đổi danh sách thành danh sách có thể thay đổi.
1
2
3
4
5
6
7
8
9
10
nhập java. sử dụng. Bộ sưu tập
vui chính[] {
val n = 5
val danh sách. Danh sách thay đổi = Bộ sưu tập.nBản sao[n, 0 . ].toMutableList[]
danh sách. removeAt[0]
println[list]
}
Tải xuống mã
Đầu ra.
[0, 0, 0, 0]
4. Sử dụng chức năng arrayOfNulls[]
Hàm arrayOfNulls[]
trả về một mảng các đối tượng thuộc loại đã cho với kích thước đã cho, được khởi tạo bằng null. Để lấy danh sách có kích thước cố định, hãy chuyển mảng loại tương ứng cho hàm List
0, như hình bên dưới
1
2
3
4
5
6
vui chính[] {
val n = 5
val danh sách. Danh sách = listOf[*arrayOfNulls[n]]
println[list]
}
Tải xuống mã
Đầu ra.
[null, null, null, null, null]
Để tạo điều kiện thay đổi cấu trúc cho danh sách, hãy chuyển mảng loại tương ứng cho hàm List
1. Chẳng hạn,
1
2
3
4
5
6
7
8
vui chính[] {
val n = 5
val danh sách. MutableList = mutableListOf[*arrayOfNulls[n]]
danh sách. removeAt[0]
println[list]
}
Tải xuống mã
Đầu ra.
[null, null, null, null]
5. Sử dụng hàm tạo List
2
Một giải pháp khác là sử dụng hàm tạo List
3 của loại tương ứng List
4, tạo một mảng mới có kích thước đã chỉ định, với tất cả các phần tử được khởi tạo với giá trị mặc định