Տարբերությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում

Բովանդակություն:

Տարբերությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում
Տարբերությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում

Video: Տարբերությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում

Video: Տարբերությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում
Video: Зеркало (FullHD, драма, реж. Андрей Тарковский, 1974 г.) 2024, Նոյեմբեր
Anonim

Հիմնական տարբերություն – Ընդհանուր ընդդեմ ոչ ընդհանուր հավաքածուի C-ում

Ընդհանուր հավաքածուն դաս է, որն ապահովում է տիպի անվտանգություն՝ առանց հիմնական հավաքածուի տեսակից բխելու և տիպային հատուկ անդամներ իրականացնելու: Ոչ ընդհանուր հավաքածուն տվյալների պահպանման և որոնման համար մասնագիտացված դաս է, որն ապահովում է կույտերի, հերթերի, ցուցակների և հեշթեյլների աջակցություն: C-ում Ընդհանուր և ոչ ընդհանուր հավաքածուի հիմնական տարբերությունն այն է, որ ընդհանուր հավաքածուն խիստ տպագրված է, մինչդեռ ոչ ընդհանուր հավաքածուն խիստ տպագրված չէ:

Ի՞նչ է Generic Collection-ը C-ում:

Ոչ ընդհանուր հավաքածուներ, ինչպիսիք են ArrayList, Queue, Stack և այլն:կարող է պահպանել տարբեր տեսակի տվյալների տարրեր: Նյութերը ձեռք բերելիս ծրագրավորողը պետք է մուտքագրի cast դրանք ճիշտ տվյալների տեսակին: Հակառակ դեպքում, դա կարող է առաջացնել գործարկման ժամանակի բացառություն: Ընդհանուր հավաքածուի դասերը կարող են օգտագործվել այս խնդիրը հաղթահարելու համար: Ընդհանուր հավաքածուները տարրերը պահում են ներսից՝ իրենց իրական տեսակների զանգվածներում: Հետեւաբար, տիպի ձուլումը չի պահանջվում: Դրանք կարող են օգտագործվել նշված տեսակի կամ տեսակների տարրեր պահելու համար: Որոշ Ընդհանուր հավաքածուների դասեր են՝ Ցուցակ, Բառարան, ՏեսակավորվածՑուցակ, HashSet, Հերթ, Stack ։

Տարբերությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում
Տարբերությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում

Ընդհանուր ցուցակը պարունակում է նշված տեսակի տարրեր: Այն կարող է համապատասխանաբար ավելացնել ցանկը տարրեր ավելացնելիս: Երբ կա հետևյալ դրույթը, բոլոր տարրերը, որոնք կարող են պահվել ցուցակ1-ում, պետք է լինեն ամբողջ թվեր, Ցանկ ցուցակ1 – նոր ցուցակ ();

C-ի ընդհանուր բառարանը բանալիների և արժեքների հավաքածու է: Երբ կա հետևյալ դրույթը, օբյեկտի բառարան1-ը կարող է պահել int տիպի ստեղները և տողերի տիպի արժեքները:

Բառարան բառարան1=նոր բառարան ();

Ընդհանուր տեսակավորված ցուցակի հավաքածուն լռելյայնորեն պահում է բանալիների և արժեքների զույգերը՝ ըստ բանալիների աճման կարգի: Ստորև բերված օրինակը պահում է int տեսակի բանալին և լարային տիպի արժեքը:

SortedList s0=նոր SortedList ();

Սրանք մի քանի օրինակներ են Ընդհանուր հավաքածուի համար C-ում: Այս հավաքածուները կարող են պահպանել նշված տվյալների տեսակների մի քանի արժեքներ: Այսպիսով, դրանք խիստ տպագրված են։

Ի՞նչ է ոչ ընդհանուր հավաքածուն C-ում:

Զանգվածները կարող են օգտագործվել բազմաթիվ տարրեր պահելու համար: Մի թերություն այն է, որ այն կարող է պահել նույն տվյալների տիպի տարրերը: C-ում կան դասեր, որոնք կարող են օգտագործվել բազմաթիվ արժեքներ կամ օբյեկտներ պահելու համար, որոնք հայտնի են որպես հավաքածուներ: Հավաքածուները օգնում են պահպանել, թարմացնել, ջնջել, որոնել, տեսակավորել օբյեկտները:Հավաքածուի չափը կարելի է դինամիկ կերպով մեծացնել կամ նվազեցնել։

Ոչ ընդհանուր հավաքածուի դասեր են ArrayList, SortedList, Stack, Queue և HashTable: Յուրաքանչյուր հավաքածուի դաս իրականացնում է IEnumerable ինտերֆեյսը: Այն օգնում է կրկնել հավաքածուի տարրերի միջոցով՝ օգտագործելով foreach հանգույցը:

ArrayList-ը զանգվածի այլընտրանքն է: Եթե կա զանգված, որը կարող է պահել 10 տարր, այն չի կարող պահել 20 տարր։ Եթե զանգվածը սկզբնավորվել է 10 տարրի, բայց պահպանում է միայն 5 տարր, ապա մնացածը չի օգտագործվում: Հետեւաբար, զանգվածը ամրագրված է: ArrayList-ում հնարավոր է ավելացնել կամ հեռացնել տարրեր՝ կախված ինդեքսից: Այն թույլ է տալիս դինամիկ հիշողության բաշխում: Տեսակավորման մեթոդը կարող է օգտագործվել տարրերն աճման կարգով տեսակավորելու համար։

HashTable-ն օգտագործվում է հիմնական արժեքների զույգերի հավաքածուն ներկայացնելու համար: Դրանք կազմակերպվում են՝ հիմնվելով բանալու hashCode-ի վրա։ Հետևաբար, յուրաքանչյուր տարր ունի առանցքային արժեքների զույգ: Բանալին կարող է օգտագործվել հավաքածուի որոշակի տարր մուտք գործելու համար:Stack-ը ներկայացնում է իրերի վերջին մուտքի, առաջին մուտքի հնարավորությունը: Հերթը օգտագործվում է իրերի առաջին մուտքի համար: Սրանք C-ի կողմից աջակցվող ոչ ընդհանուր հավաքածուներից մի քանիսն են: Այս հավաքածուները կարող են պահել տարբեր տեսակի տարրեր։

Ո՞րն է նմանությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում:

Եվ ընդհանուր և ոչ ընդհանուր հավաքածուն կարող է օգտագործվել C-ում բազմաթիվ տարրեր պահելու համար:

Ո՞րն է տարբերությունը ընդհանուր և ոչ ընդհանուր հավաքածուի միջև C-ում:

Ընդհանուր ընդդեմ ոչ ընդհանուր հավաքածուի C-ում

Ընդհանուր հավաքածուն դաս է, որն ապահովում է տիպի անվտանգություն՝ առանց բազային հավաքածուի տեսակից բխելու և տիպային հատուկ անդամներ իրականացնելու: Ոչ ընդհանուր հավաքածուն տվյալների պահպանման և որոնման մասնագիտացված դաս է, որն ապահովում է կույտերի, հերթերի, ցուցակների և հեշ աղյուսակների աջակցություն:
Անվանատարածք
Ընդհանուր հավաքածուի դասերը Համակարգում են: Հավաքածուներ. Ընդհանուր անունների տարածություն։ Ոչ ընդհանուր հավաքածուի դասերը Համակարգում են: Հավաքածուների անվանատարածք։
Տեսակ
Ընդհանուր հավաքածուն խիստ տպագրված է: Ոչ ընդհանուր հավաքածուն խիստ տպագրված չէ:
տարրերի պահպանում
Ընդհանուր հավաքածուները պահում են տարրերը ներքին մասում՝ իրենց իրական տեսակների զանգվածներում: Ոչ ընդհանուր հավաքածուները տարրերը պահում են ներքին օբյեկտների զանգվածներում, որպեսզի կարողանան պահել ցանկացած տեսակի տվյալ:

Ամփոփում – Ընդհանուր ընդդեմ ոչ ընդհանուր հավաքածու C-ում

Այս հոդվածը քննարկեց C-ում Ընդհանուր և ոչ ընդհանուր հավաքածուի տարբերությունը: Ընդհանուր և ոչ ընդհանուր հավաքածուի միջև տարբերությունն այն է, որ Ընդհանուր հավաքածուն խիստ տպագրված է, մինչդեռ ոչ ընդհանուր հավաքածուն խիստ տպագրված չէ:

Խորհուրդ ենք տալիս: