Հիմնական տարբերություն – Ընդհանուր ընդդեմ ոչ ընդհանուր հավաքածուի C-ում
Ընդհանուր հավաքածուն դաս է, որն ապահովում է տիպի անվտանգություն՝ առանց հիմնական հավաքածուի տեսակից բխելու և տիպային հատուկ անդամներ իրականացնելու: Ոչ ընդհանուր հավաքածուն տվյալների պահպանման և որոնման համար մասնագիտացված դաս է, որն ապահովում է կույտերի, հերթերի, ցուցակների և հեշթեյլների աջակցություն: C-ում Ընդհանուր և ոչ ընդհանուր հավաքածուի հիմնական տարբերությունն այն է, որ ընդհանուր հավաքածուն խիստ տպագրված է, մինչդեռ ոչ ընդհանուր հավաքածուն խիստ տպագրված չէ:
Ի՞նչ է Generic Collection-ը C-ում:
Ոչ ընդհանուր հավաքածուներ, ինչպիսիք են ArrayList, Queue, Stack և այլն:կարող է պահպանել տարբեր տեսակի տվյալների տարրեր: Նյութերը ձեռք բերելիս ծրագրավորողը պետք է մուտքագրի cast դրանք ճիշտ տվյալների տեսակին: Հակառակ դեպքում, դա կարող է առաջացնել գործարկման ժամանակի բացառություն: Ընդհանուր հավաքածուի դասերը կարող են օգտագործվել այս խնդիրը հաղթահարելու համար: Ընդհանուր հավաքածուները տարրերը պահում են ներսից՝ իրենց իրական տեսակների զանգվածներում: Հետեւաբար, տիպի ձուլումը չի պահանջվում: Դրանք կարող են օգտագործվել նշված տեսակի կամ տեսակների տարրեր պահելու համար: Որոշ Ընդհանուր հավաքածուների դասեր են՝ Ցուցակ, Բառարան, ՏեսակավորվածՑուցակ, HashSet, Հերթ, Stack ։
Ընդհանուր ցուցակը պարունակում է նշված տեսակի տարրեր: Այն կարող է համապատասխանաբար ավելացնել ցանկը տարրեր ավելացնելիս: Երբ կա հետևյալ դրույթը, բոլոր տարրերը, որոնք կարող են պահվել ցուցակ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-ում Ընդհանուր և ոչ ընդհանուր հավաքածուի տարբերությունը: Ընդհանուր և ոչ ընդհանուր հավաքածուի միջև տարբերությունն այն է, որ Ընդհանուր հավաքածուն խիստ տպագրված է, մինչդեռ ոչ ընդհանուր հավաքածուն խիստ տպագրված չէ: