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