Kluczowa różnica – kolekcja ogólna i niegeneryczna w C
Kolekcja ogólna to klasa, która zapewnia bezpieczeństwo typów bez konieczności wyprowadzania z podstawowego typu kolekcji i implementowania elementów członkowskich specyficznych dla typu. Kolekcja nieogólna to wyspecjalizowana klasa do przechowywania i pobierania danych, która zapewnia obsługę stosów, kolejek, list i tablic mieszających. Kluczowa różnica między kolekcją ogólną i nieogólną w języku C polega na tym, że kolekcja ogólna jest silnie wpisana, podczas gdy kolekcja nieogólna nie jest silnie wpisana.
Co to jest kolekcja ogólna w C?
Kolekcje nieogólne, takie jak ArrayList, Queue, Stack itp.może przechowywać elementy różnych typów danych. Podczas uzyskiwania pozycji programista powinien wpisać rzutować je na właściwy typ danych. W przeciwnym razie może spowodować wyjątek w czasie wykonywania. Do rozwiązania tego problemu można użyć ogólnych klas kolekcji. Kolekcje ogólne przechowują elementy wewnętrznie w tablicach ich rzeczywistych typów. Dlatego rzutowanie typu nie jest wymagane. Mogą służyć do przechowywania elementów określonego typu lub typów. Niektóre ogólne klasy kolekcji to List, Dictionary, SortedList, HashSet, Queue, Stack.
Lista GenericList zawiera elementy określonego typu. Może odpowiednio zwiększyć listę podczas dodawania elementów. Gdy istnieje instrukcja w następujący sposób, wszystkie elementy, które mogą być przechowywane na liście 1 powinny być liczbami całkowitymi, Lista1 – nowa lista ();
Słownik ogólny w języku C to zbiór kluczy i wartości. Gdy istnieje następująca instrukcja, słownik obiektów1 może przechowywać klucze typu int i wartości typu string.
Słownik słownika1=nowy słownik ();
Ogólna kolekcja SortedList przechowuje pary kluczy i wartości w porządku rosnącym domyślnie. Poniższy przykład przechowuje klucz typu int i wartość typu string.
SortedList s0=nowa SortedList ();
To jest kilka przykładów kolekcji ogólnej w języku C. Te kolekcje mogą przechowywać wiele wartości określonych typów danych. Są więc silnie wpisane.
Co to jest kolekcja nieogólna w C?
Tablice mogą być używane do przechowywania wielu elementów. Jedną wadą jest to, że może przechowywać elementy tego samego typu danych. W języku C istnieją klasy, których można używać do przechowywania wielu wartości lub obiektów zwanych kolekcjami. Kolekcje pomagają przechowywać, aktualizować, usuwać, wyszukiwać, sortować obiekty. Wielkość kolekcji można dynamicznie zwiększać lub zmniejszać.
Niektóre nieogólne klasy kolekcji to ArrayList, SortedList, Stack, Queue i HashTable. Każda klasa kolekcji implementuje interfejs IEnumerable. Pomaga iterować elementy elementów w kolekcji za pomocą pętli foreach.
ArrayList jest alternatywą dla tablicy. Jeśli istnieje tablica, która może przechowywać 10 elementów, nie może przechowywać 20 elementów. Jeśli tablica została zainicjowana do 10 elementów, ale przechowuje tylko 5 elementów, reszta nie jest używana. Dlatego tablica jest ustalona. W ArrayList można dodawać lub usuwać elementy w zależności od indeksu. Umożliwia dynamiczną alokację pamięci. Metoda sort może służyć do sortowania elementów w kolejności rosnącej.
HashTable służy do reprezentowania kolekcji par klucz-wartość. Są one zorganizowane w oparciu o hashCode klucza. Dlatego każdy element ma parę klucz-wartość. Klucz może służyć do uzyskiwania dostępu do określonego elementu w kolekcji. Stos reprezentuje ostatni wchodzący, pierwszy wychodzący dostęp do przedmiotów. Kolejka służy do pierwszego dostępu do elementów. Oto niektóre z nieogólnych kolekcji obsługiwanych przez C. Te kolekcje mogą przechowywać elementy różnych typów.
Jakie jest podobieństwo między kolekcją generyczną i niegeneryczną w C?
Zarówno generyczna, jak i nieogólna kolekcja może służyć do przechowywania wielu elementów w C
Jaka jest różnica między zbiorem ogólnym a nieogólnym w C?
Kolekcja ogólna a kolekcja nieogólna w C |
|
Kolekcja ogólna to klasa, która zapewnia bezpieczeństwo typów bez konieczności wyprowadzania z podstawowego typu kolekcji i implementowania elementów członkowskich specyficznych dla typu. | Nieogólna kolekcja to wyspecjalizowana klasa do przechowywania i pobierania danych, która zapewnia obsługę stosów, kolejek, list i tabel mieszających. |
Przestrzeń nazw | |
Klasy Kolekcji Ogólnej znajdują się w Systemie. Kolekcje. Generics namespace. | Klasy kolekcji nieogólnej znajdują się w systemie. Przestrzeń nazw kolekcji. |
Typ | |
Zbiór ogólny jest silnie wpisany. | Kolekcja nieogólna nie jest silnie wpisana. |
Przechowywanie elementów | |
Kolekcje ogólne przechowują elementy wewnętrznie w tablicach ich rzeczywistych typów. | Kolekcje nieogólne przechowują elementy wewnętrznie w tablicach obiektów, dzięki czemu mogą przechowywać dowolny typ danych. |
Podsumowanie – kolekcja ogólna a nie ogólna w C
W tym artykule omówiono różnicę między kolekcją ogólną i nieogólną w języku C. Różnica między kolekcją ogólną a nieogólną polega na tym, że kolekcja ogólna jest silnie typizowana, podczas gdy kolekcja nieogólna nie jest silnie typizowana.