F # - Daftar yang Dapat Diubah
Itu List<'T> class mewakili daftar objek yang diketik dengan kuat yang dapat diakses oleh indeks.
Ini adalah pasangan kelas List yang bisa berubah. Ini mirip dengan array, karena dapat diakses oleh indeks, namun, tidak seperti array, daftar dapat diubah ukurannya. Oleh karena itu, Anda tidak perlu menentukan ukuran selama deklarasi.
Membuat Daftar yang Dapat Diubah
Daftar dibuat menggunakan newkata kunci dan memanggil konstruktor daftar. Contoh berikut menunjukkan ini -
(* Creating a List *)
open System.Collections.Generic
let booksList = new List<string>()
booksList.Add("Gone with the Wind")
booksList.Add("Atlas Shrugged")
booksList.Add("Fountainhead")
booksList.Add("Thornbirds")
booksList.Add("Rebecca")
booksList.Add("Narnia")
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
0: Gone with the Wind
1: Atlas Shrugged
2: Fountainhead
3: Thornbirds
4: Rebecca
5: Narnia
Kelas Daftar (T)
Kelas List (T) mewakili daftar objek yang diketik dengan kuat yang dapat diakses oleh indeks. Ini menyediakan metode untuk mencari, mengurutkan, dan memanipulasi daftar.
Tabel berikut menyediakan properti, konstruktor, dan metode kelas List (T) -
Properti
Properti | Deskripsi |
---|---|
Kapasitas | Mendapat atau menyetel jumlah total elemen yang dapat disimpan oleh struktur data internal tanpa mengubah ukurannya. |
Menghitung | Mendapat jumlah elemen yang terdapat dalam List (T). |
Barang | Mendapat atau menyetel elemen pada indeks yang ditentukan. |
Konstruktor
Pembuat | Deskripsi |
---|---|
Daftar (T) () | Menginisialisasi instance baru kelas List (T) yang kosong dan memiliki kapasitas awal default. |
Daftar (T) (IEnumerable (T)) | Menginisialisasi instance baru kelas List (T) yang berisi elemen yang disalin dari koleksi yang ditentukan dan memiliki kapasitas yang cukup untuk mengakomodasi jumlah elemen yang disalin. |
Daftar (T) (Int32) | Menginisialisasi instance baru kelas List (T) yang kosong dan memiliki kapasitas awal yang ditentukan. |
metode
Metode | Deskripsi |
---|---|
Menambahkan | Menambahkan objek ke akhir List (T). |
AddRange | Menambahkan elemen dari koleksi yang ditentukan ke akhir Daftar (T). |
AsReadOnly | Mengembalikan pembungkus IList (T) hanya baca untuk koleksi saat ini. |
BinarySearch (T) | Mencari seluruh Daftar yang diurutkan (T) untuk sebuah elemen menggunakan pembanding default dan mengembalikan indeks berbasis nol dari elemen tersebut. |
BinarySearch (T, IComparer (T)) | Mencari seluruh Daftar yang diurutkan (T) untuk sebuah elemen menggunakan pembanding yang ditentukan dan mengembalikan indeks berbasis nol dari elemen tersebut. |
BinarySearch (Int32, Int32, T, IComparer (T)) | Menelusuri rentang elemen dalam Daftar yang diurutkan (T) untuk elemen menggunakan pembanding yang ditentukan dan mengembalikan indeks elemen berbasis nol. |
Bersih | Menghapus semua elemen dari Daftar (T). |
Mengandung | Menentukan apakah suatu elemen ada dalam List (T). |
ConvertAll (TOutput) | Mengonversi elemen dalam Daftar (T) saat ini ke tipe lain, dan mengembalikan daftar yang berisi elemen yang dikonversi. |
CopyTo (T []) | Menyalin seluruh Daftar (T) ke larik satu dimensi yang kompatibel, dimulai dari awal larik target. |
CopyTo (T [], Int32) | Menyalin seluruh Daftar (T) ke larik satu dimensi yang kompatibel, dimulai dari indeks larik target yang ditentukan. |
CopyTo (Int32, T [], Int32, Int32) | Menyalin berbagai elemen dari List (T) ke array satu dimensi yang kompatibel, dimulai dari indeks yang ditentukan dari array target. |
Sama dengan (Objek) | Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diwariskan dari Objek.) |
Ada | Menentukan apakah Daftar (T) berisi elemen yang sesuai dengan kondisi yang ditentukan oleh predikat yang ditentukan. |
Menyelesaikan | Mengizinkan objek mencoba membebaskan sumber daya dan melakukan operasi pembersihan lainnya sebelum diklaim kembali oleh pengumpulan sampah (Diwarisi dari Objek). |
Temukan | Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan kemunculan pertama dalam seluruh Daftar (T). |
Temukan semua | Mengambil semua elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan. |
FindIndex (Predikat (T)) | Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kejadian pertama dalam seluruh Daftar (T). |
FindIndex (Int32, Predicate (T)) | Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam rentang elemen dalam Daftar (T) yang meluas dari indeks yang ditentukan ke elemen terakhir. |
FindIndex (Int32, Int32, Predicate (T)) | Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kejadian pertama dalam rentang elemen dalam Daftar (T) yang dimulai pada indeks yang ditentukan dan berisi jumlah elemen yang ditentukan. |
FindLast | Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan kemunculan terakhir dalam seluruh Daftar (T). |
FindLastIndex (Predicate (T)) | Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kejadian terakhir dalam seluruh Daftar (T). |
FindLastIndex (Int32, Predicate (T)) | Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kejadian terakhir dalam rentang elemen dalam Daftar (T) yang meluas dari elemen pertama ke indeks yang ditentukan. |
FindLastIndex (Int32, Int32, Predicate (T)) | Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kejadian terakhir dalam rentang elemen dalam Daftar (T) yang berisi jumlah elemen yang ditentukan dan berakhir pada indeks yang ditentukan. |
Untuk setiap | Melakukan tindakan yang ditentukan pada setiap elemen List (T). |
GetEnumerator | Mengembalikan enumerator yang mengulang melalui List (T). |
GetHashCode | Berfungsi sebagai fungsi hash default. (Diwariskan dari Objek.) |
GetRange | Membuat salinan dangkal dari berbagai elemen dalam Daftar sumber (T). |
GetType | Mendapat Jenis instance saat ini. (Diwariskan dari Objek.) |
IndexOf (T) | Mencari objek yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam seluruh Daftar (T). |
IndexOf (T, Int32) | Mencari objek yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam rentang elemen dalam Daftar (T) yang meluas dari indeks yang ditentukan ke elemen terakhir. |
IndexOf (T, Int32, Int32) | Mencari objek yang ditentukan dan mengembalikan indeks berbasis nol dari kejadian pertama dalam rentang elemen dalam Daftar (T) yang dimulai pada indeks yang ditentukan dan berisi jumlah elemen yang ditentukan. |
Memasukkan | Menyisipkan elemen ke dalam Daftar (T) pada indeks yang ditentukan. |
InsertRange | Menyisipkan elemen koleksi ke dalam Daftar (T) pada indeks yang ditentukan. |
LastIndexOf (T) | Mencari objek yang ditentukan dan mengembalikan indeks berbasis nol dari kejadian terakhir dalam seluruh Daftar (T). |
LastIndexOf (T, Int32) | Mencari objek yang ditentukan dan mengembalikan indeks berbasis nol dari kejadian terakhir dalam rentang elemen dalam Daftar (T) yang meluas dari elemen pertama ke indeks yang ditentukan. |
LastIndexOf (T, Int32, Int32) | Mencari objek yang ditentukan dan mengembalikan indeks berbasis nol dari kejadian terakhir dalam rentang elemen dalam Daftar (T) yang berisi jumlah elemen yang ditentukan dan berakhir pada indeks yang ditentukan. |
MemberwiseClone | Membuat salinan dangkal dari Objek saat ini. (Diwariskan dari Objek.) |
Menghapus | Menghapus kemunculan pertama objek tertentu dari Daftar (T). |
Menghapus semua | Menghapus semua elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan. |
RemoveAt | Menghapus elemen pada indeks tertentu dari List (T). |
RemoveRange | Menghapus berbagai elemen dari Daftar (T). |
Balik() | Membalik urutan elemen di seluruh Daftar (T). |
Terbalik (Int32, Int32) | Membalik urutan elemen dalam rentang yang ditentukan. |
Menyortir() | Mengurutkan elemen di seluruh Daftar (T) menggunakan pembanding default. |
Urutkan (Perbandingan (T)) | Mengurutkan elemen di seluruh Daftar (T) menggunakan Sistem yang ditentukan. Perbandingan (T). |
Urutkan (Pembanding (T)) | Mengurutkan elemen di seluruh Daftar (T) menggunakan pembanding yang ditentukan. |
Urutkan (Int32, Int32, IComparer (T)) | Mengurutkan elemen dalam rentang elemen dalam Daftar (T) menggunakan pembanding yang ditentukan. |
ToArray | Menyalin elemen List (T) ke array baru. |
ToString | Mengembalikan string yang mewakili objek saat ini. (Diwariskan dari Objek.) |
TrimExcess | Menyetel kapasitas ke jumlah elemen sebenarnya dalam Daftar (T), jika angka itu kurang dari nilai ambang batas. |
TrueForAll | Menentukan apakah setiap elemen dalam Daftar (T) cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan. |
Contoh
(* Creating a List *)
open System.Collections.Generic
let booksList = new List<string>()
booksList.Add("Gone with the Wind")
booksList.Add("Atlas Shrugged")
booksList.Add("Fountainhead")
booksList.Add("Thornbirds")
booksList.Add("Rebecca")
booksList.Add("Narnia")
printfn"Total %d books" booksList.Count
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
booksList.Insert(2, "Roots")
printfn("after inserting at index 2")
printfn"Total %d books" booksList.Count
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
booksList.RemoveAt(3)
printfn("after removing from index 3")
printfn"Total %d books" booksList.Count
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
Total 6 books
0: Gone with the Wind
1: Atlas Shrugged
2: Fountainhead
3: Thornbirds
4: Rebecca
5: Narnia
after inserting at index 2
Total 7 books
0: Gone with the Wind
1: Atlas Shrugged
2: Roots
3: Fountainhead
4: Thornbirds
5: Rebecca
6: Narnia
after removing from index 3
Total 6 books
0: Gone with the Wind
1: Atlas Shrugged
2: Roots
3: Thornbirds
4: Rebecca
5: Narnia