Bagikan melalui


Koleksi

Pustaka Kelas Microsoft Foundation menyediakan kelas koleksi untuk mengelola grup objek. Kelas-kelas ini terdiri dari dua jenis:

Nota

Jika kode Anda sudah menggunakan kelas koleksi nontemplate, Anda dapat terus menggunakannya. Jika Anda menulis kelas pengumpulan jenis aman baru untuk jenis data Anda sendiri, kami sarankan Anda menggunakan kelas berbasis templat yang lebih baru.

Bentuk Koleksi

Kelas koleksi ditandai dengan "bentuk" dan oleh jenis elemennya. Bentuk mengacu pada cara objek diatur dan disimpan oleh koleksi. MFC menyediakan tiga bentuk koleksi dasar: daftar, array, dan peta (juga dikenal sebagai kamus). Anda dapat memilih bentuk koleksi yang paling cocok dengan masalah pemrograman tertentu Anda.

Masing-masing dari tiga bentuk koleksi yang disediakan dijelaskan secara singkat nanti dalam topik ini. Untuk membandingkan fitur bentuk untuk membantu Anda memutuskan mana yang terbaik untuk program Anda, lihat Rekomendasi untuk Memilih Kelas Koleksi.

  • Daftar

    Kelas list menyediakan daftar elemen yang diurutkan dan tidak terindeks, diimplementasikan sebagai daftar tertaut ganda. Daftar memiliki "kepala" dan "ekor," dan menambahkan atau menghapus elemen dari kepala atau ekor, atau memasukkan atau menghapus elemen di tengah, sangat cepat.

  • Array

    Kelas array menyediakan array objek berukuran dinamis, diurutkan, dan diindeks bilangan bulat.

  • Peta (juga dikenal sebagai kamus)

    Peta adalah koleksi yang mengaitkan objek kunci dengan objek nilai.

Kelas Koleksi Template-Based

Cara termudah untuk mengimplementasikan koleksi tipe aman yang berisi objek dari jenis apa pun adalah dengan menggunakan salah satu kelas berbasis templat MFC. Untuk contoh kelas ini, lihat sampel MFC COLLECT.

Tabel berikut mencantumkan kelas koleksi berbasis templat MFC.

Kelas Koleksi Templat

Isi koleksi Larik Daftar Peta
Kumpulan objek dari jenis apa pun CArray CList CMap
Kumpulan pointer ke objek dari jenis apa pun CTypedPtrArray CTypedPtrList CTypedPtrMap

Kelas Koleksi Tidak Berdasarkan Templat

Jika aplikasi Anda sudah menggunakan kelas nontemplate MFC, Anda dapat terus menggunakannya. Namun, untuk koleksi baru, kami sarankan Anda menggunakan kelas berbasis templat. Tabel berikut mencantumkan kelas koleksi MFC yang tidak didasarkan pada templat.

Kelas Koleksi Nontemplate

Larik Daftar Peta
CObArray CObList CMapPtrToWord
CByteArray CPtrList CMapPtrToPtr
CDWordArray CStringList CMapStringToOb
CPtrArray CMapStringToPtr
CStringArray CMapStringToString
CWordArray CMapWordToOb
CUIntArray CMapWordToPtr

Karakteristik tabel Kelas Koleksi MFC dalam Rekomendasi untuk Memilih Kelas Koleksi menjelaskan kelas koleksi MFC dalam hal karakteristik ini (selain bentuk):

  • Apakah kelas menggunakan templat C++

  • Apakah elemen yang disimpan dalam koleksi dapat diserialisasikan

  • Apakah elemen yang disimpan dalam koleksi dapat dieksport untuk diagnostik

  • Apakah koleksi aman tipe data

Apa yang ingin Anda lakukan

Tugas Collection-Class Umum

Tugas Template-Based Collection-Class

Mengakses Anggota dari Sebuah Koleksi (Template-Based atau Tidak)

Lihat juga

Konsep
Topik MFC Umum