С тіліндегі жалпы және жалпы емес жинақтың арасындағы айырмашылық

Мазмұны:

С тіліндегі жалпы және жалпы емес жинақтың арасындағы айырмашылық
С тіліндегі жалпы және жалпы емес жинақтың арасындағы айырмашылық

Бейне: С тіліндегі жалпы және жалпы емес жинақтың арасындағы айырмашылық

Бейне: С тіліндегі жалпы және жалпы емес жинақтың арасындағы айырмашылық
Бейне: ДОСЫНЫҢ ӘЙЕЛІМЕН БОЛДЫ 2024, Маусым
Anonim

Негізгі айырмашылық – C тіліндегі жалпы және жалпы емес жинақ

Жалпы жинақ – негізгі жинақ түрінен алынбай және түрге тән мүшелерді жүзеге асырмай, түр қауіпсіздігін қамтамасыз ететін сынып. Жалпы емес топтама – стектерге, кезектерге, тізімдерге және хэш кестелерге қолдау көрсететін деректерді сақтауға және алуға арналған мамандандырылған сынып. C тіліндегі жалпы және жалпы емес жинақ арасындағы негізгі айырмашылық - Жалпы жинақ қатты терілген, ал жалпы емес жинақ қатты терілмеген.

C тіліндегі жалпы жинақ дегеніміз не?

Жалпы емес жинақтар, мысалы, ArrayList, Queue, Stack, т.б.әртүрлі деректер типтерінің элементтерін сақтай алады. Элементтерді алу кезінде бағдарламашы оларды дұрыс деректер түріне көшіру керек. Әйтпесе, ол орындалу уақытының ерекшелігін тудыруы мүмкін. Бұл мәселені шешу үшін жалпы жинақ сыныптарын пайдалануға болады. Жалпы жинақтар элементтерді олардың нақты түрлерінің массивтерінде сақтайды. Сондықтан типті құю қажет емес. Оларды көрсетілген түрдегі немесе түрдегі элементтерді сақтау үшін пайдалануға болады. Кейбір жалпы жинақ сыныптары: Тізім, Сөздік, СортталғанТізім, ХэшЖинақ, Кезек, Стек.

C тіліндегі жалпы және жалпы емес жинақтың арасындағы айырмашылық
C тіліндегі жалпы және жалпы емес жинақтың арасындағы айырмашылық

Жалпы тізімде көрсетілген түрдегі элементтер бар. Ол элементтерді қосқанда тізімді сәйкесінше көбейте алады. Төмендегідей мәлімдеме болған кезде1 тізімге сақтауға болатын барлық элементтер бүтін сандар болуы керек, Тізім тізімі1 – жаңа тізім ();

C тіліндегі Жалпы сөздік – кілттер мен мәндердің жинағы. Төмендегідей мәлімдеме болғанда, нысан сөздігі1 int түріндегі пернелерді және жол түрінің мәндерін сақтай алады.

Сөздік сөздік1=жаңа сөздік ();

Жалпы SortedList жинағы әдепкі бойынша кілт пен мән жұптарын кілттің өсу ретімен сақтайды. Төмендегі мысал int түрінің кілтін және жол түрінің мәнін сақтайды.

Сұрыпталған тізім s0=жаңа сұрыпталған тізім ();

Бұл C тіліндегі Generic Collection үшін бірнеше мысалдар. Бұл жинақтар көрсетілген деректер түрлерінің бірнеше мәндерін сақтай алады. Сондықтан олар қатты терілген.

C тіліндегі жалпы емес жинақ дегеніміз не?

Массивтерді бірнеше элементтерді сақтау үшін пайдалануға болады. Бір кемшілігі ол бір деректер түрінің элементтерін сақтай алады. C тілінде көптеген мәндерді немесе коллекциялар деп аталатын нысандарды сақтау үшін пайдалануға болатын сыныптар бар. Жинақтар объектілерді сақтауға, жаңартуға, жоюға, іздеуге, сұрыптауға көмектеседі. Жинақ өлшемін динамикалық түрде ұлғайтуға немесе азайтуға болады.

Кейбір жалпы емес коллекция сыныптары: ArrayList, SortedList, Stack, Queue және HashTable. Әрбір жинақ класы IEnumerable интерфейсін жүзеге асырады. Бұл коллекциядағы элементтердің элементтерін foreach циклі арқылы қайталауға көмектеседі.

Массивтер тізімі массивке балама болып табылады. 10 элементті сақтай алатын массив болса, ол 20 элементті сақтай алмайды. Егер массив 10 элементке инициализацияланған болса, бірақ тек 5 элементті сақтаса, қалғаны пайдаланылмайды. Сондықтан массив бекітілген. ArrayList-те индекске байланысты элементтерді қосуға немесе жоюға болады. Ол динамикалық жадты бөлуге мүмкіндік береді. Сұрыптау әдісін элементтерді өсу ретімен сұрыптау үшін пайдалануға болады.

ХешКесте кілт мән жұптарының жинағын көрсету үшін пайдаланылады. Олар кілттің хэшкоды негізінде ұйымдастырылған. Сондықтан әрбір элементте кілт мәндер жұбы болады. Кілтті жинақтағы белгілі бір элементке қол жеткізу үшін пайдалануға болады. Стек элементтерге соңғы кіру, бірінші шығу қатынасын білдіреді. Кезек элементтерге бірінші шыққанда бірінші болып кіру үшін пайдаланылады. Бұл C қолдайтын жалпы емес жинақтардың кейбірі. Бұл жинақтар әртүрлі түрдегі элементтерді сақтай алады.

C тіліндегі жалпы және жалпы емес жинақтың қандай ұқсастығы бар?

Жалпы және жалпы емес жинақты C тілінде бірнеше элементтерді сақтау үшін пайдалануға болады

C тіліндегі жалпы және жалпы емес жинақтың айырмашылығы неде?

C тіліндегі жалпы және жалпы емес жинақ

Жалпы топтама – негізгі жинақ түрінен алу және түрге тән мүшелерді енгізу қажетсіз тип қауіпсіздігін қамтамасыз ететін сынып. Жалпы емес жинақ – стектерге, кезектерге, тізімдерге және хэш кестелеріне қолдау көрсететін деректерді сақтауға және алуға арналған мамандандырылған сынып.
Есім кеңістігі
Жалпы жинақ сыныптары Жүйеде. Жинақтар. Жалпы аттар кеңістігі. Жалпы емес коллекция сыныптары Жүйеде. Жинақтардың атау кеңістігі.
Түр
Жалпы жинақ қатты терілген. Жалпы емес жинақ қатты терілмеген.
Элементтерді сақтау
Жалпы жинақтар элементтерді олардың нақты түрлерінің массивтерінде сақтайды. Жалпы емес жинақтар кез келген деректер түрін сақтай алатындай элементтерді нысан массивтерінде сақтайды.

Қорытынды – C тіліндегі жалпы және жалпы емес жинақ

Бұл мақала C тіліндегі жалпы және жалпы емес жинақ арасындағы айырмашылықты талқылады. Жалпы және жалпы емес жинақтың айырмашылығы - Жалпы жинақ қатты терілген, ал жалпы емес жинақ қатты терілмеген.

Ұсынылған: