Bagikan melalui


Koleksi

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

Catatan

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 daftar menyediakan daftar elemen yang diurutkan dan tidak terindeks, diimplementasikan sebagai daftar tertaut dua kali lipat. 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 berbasis templat

Cara term mudah untuk mengimplementasikan koleksi jenis 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 Templat Koleksi

Isi koleksi Larik Daftar Maps
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 Maps
CObArray CObList CMapPtrToWord
CByteArray CPtrList CMapPtrToPtr
CDWordArray CStringList CMapStringToOb
CPtrArray CMapStringToPtr
CStringArray CMapStringToString
CWordArray CMapWordToOb
CUIntArray CMapWordToPtr

Karakteristik tabel Kelas Koleksi MFC di 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 dicadangkan untuk diagnostik

  • Apakah koleksi berjenis aman

Apa yang ingin Anda lakukan

Tugas Kelas Koleksi Umum

Tugas Kelas Koleksi Berbasis Templat

Mengakses Anggota Koleksi (Berbasis Templat atau Tidak)

Baca juga

Konsep
Topik MFC Umum