Տարբերությունը ArrayList-ի և LinkedList-ի միջև

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

Տարբերությունը ArrayList-ի և LinkedList-ի միջև
Տարբերությունը ArrayList-ի և LinkedList-ի միջև

Video: Տարբերությունը ArrayList-ի և LinkedList-ի միջև

Video: Տարբերությունը ArrayList-ի և LinkedList-ի միջև
Video: M.2 NVMe SSD բացատրված - M.2 vs SSD 2024, Հուլիսի
Anonim

Հիմնական տարբերություն – ArrayList ընդդեմ LinkedList

Հավաքածուները օգտակար են տվյալների պահպանման համար: Սովորական զանգվածում զանգվածի չափը ֆիքսված է։ Երբեմն պահանջվում է ստեղծել զանգվածներ, որոնք կարող են աճել ըստ անհրաժեշտության: Ծրագրավորման լեզուները, ինչպիսիք են Java-ն, ունեն հավաքածուներ: Դա շրջանակ է դասերի և ինտերֆեյսերի մի շարքով: Այն ծառայում է որպես տարա մի խումբ տարրերի համար։ Հավաքածուները թույլ են տալիս պահպանել, թարմացնել, առբերել տարրերի մի շարք: Այն օգնում է աշխատել տվյալների կառուցվածքների հետ, ինչպիսիք են ցուցակները, հավաքածուները, ծառերը և քարտեզները: Ցանկը Collection Framework-ի ինտերֆեյսն է: ArrayList-ը և LinkedList-ը երկու դասեր են հավաքածուների շրջանակում: Նրանք իրականացնում են հավաքածուի ինտերֆեյսը և List ինտերֆեյսը:Այս հոդվածը քննարկում է ArrayList-ի և LinkedList-ի միջև եղած տարբերությունը: ArrayList-ը դաս է, որը ընդլայնում է AbstractList-ը և իրականացնում List ինտերֆեյսը, որը ներքուստ օգտագործում է դինամիկ զանգված՝ տվյալների տարրերը պահելու համար։ LinkedList-ը դաս է, որն ընդլայնում է AbstractSequentialList-ը և իրականացնում List, Deque և Queue ինտերֆեյսներ, որոնք ներքուստ օգտագործում են կրկնակի կապակցված ցուցակ՝ տվյալների տարրերը պահելու համար: Դա ArrayList-ի և LinkedList-ի հիմնական տարբերությունն է:

Ի՞նչ է ArrayList-ը:

ArrayList դասը օգտագործվում է դինամիկ զանգվածներ ստեղծելու համար: Ի տարբերություն սովորական զանգվածի, դինամիկ զանգվածի չափը ֆիքսված չէ։ ArrayList դասի միջոցով ստեղծված օբյեկտին թույլատրվում է ցուցակում պահել տարրերի մի շարք: Հզորությունը ավտոմատ կերպով ավելանում է, ուստի ծրագրավորողը կարող է տարրեր ավելացնել ցանկին: ArrayList դասը ընդլայնում է AbstractList դասը, որն իրականացնում է List միջերեսը։ Հետևաբար, List ինտերֆեյսի մեթոդները կարող են օգտագործվել ArrayList-ի կողմից։ Տարրեր մուտք գործելու համար օգտագործվում է get() մեթոդը։Add() մեթոդը կարող է օգտագործվել ցանկում տարրեր ավելացնելու համար: Remove() մեթոդն օգտագործվում է տարրը ցանկից հեռացնելու համար: Տե՛ս ստորև ներկայացված ծրագիրը։

Տարբերությունը ArrayList-ի և LinkedList-ի միջև
Տարբերությունը ArrayList-ի և LinkedList-ի միջև
Տարբերությունը ArrayList-ի և LinkedList-ի միջև
Տարբերությունը ArrayList-ի և LinkedList-ի միջև

Նկար 01. ArrayList-ի օրինակ

Ըստ վերը նշված ծրագրի՝ ստեղծվում է ArrayList-ի օբյեկտ։ Օգտագործելով ավելացնել մեթոդը, տարրերը կարող են ավելացվել դինամիկ: «A», «B», «C», «D» և «E» տարրերը ավելացվում են ավելացնելու մեթոդով: Հեռացման մեթոդը օգտագործվում է ցանկից որևէ տարր հեռացնելու համար: Հեռացման մեթոդին 4-ը փոխանցելիս ցուցակից հանվում է 4-րդ ինդեքսի «E» տառը: Ցուցակի մեջ կրկնելիս՝ օգտագործելով for հանգույցը, կտպվեն A, B, C և D տառերը:

Ի՞նչ է LinkedList-ը:

ArrayList-ի նման, LinkedList-ն օգտագործվում է տվյալների տարրերը դինամիկ կերպով պահելու համար: LinkedList դասի միջոցով ստեղծված օբյեկտին թույլատրվում է ցուցակում պահել տարրերի մի շարք: Հզորությունը ավտոմատ կերպով ավելանում է, ուստի ծրագրավորողը կարող է տարրեր ավելացնել ցանկին: Այն ներքին կերպով օգտագործում է կրկնակի կապակցված ցուցակը տվյալների պահպանման համար: Կրկնակի կապված ցանկում տվյալները պահվում են որպես հանգույցներ: Յուրաքանչյուր հանգույց պարունակում է երկու հղում: Առաջին հղումը ցույց է տալիս նախորդ հանգույցը: Հաջորդ հղումը ցույց է տալիս հաջորդականության հաջորդ հանգույցը:

LinkedList դասը ընդլայնում է AbstractSequentialList դասը և իրականացնում List միջերեսը: Հետևաբար, List ինտերֆեյսի մեթոդները կարող են օգտագործվել LinkedList-ի կողմից: Get() մեթոդը կարող է օգտագործվել ցուցակի տարրեր մուտք գործելու համար: Add() մեթոդը կարող է օգտագործվել ցանկում տարրեր ավելացնելու համար: Remove() մեթոդն օգտագործվում է տարրը ցանկից հեռացնելու համար: Տե՛ս ստորև ներկայացված ծրագիրը։

Հիմնական տարբերությունը ArrayList-ի և LinkedList-ի միջև
Հիմնական տարբերությունը ArrayList-ի և LinkedList-ի միջև
Հիմնական տարբերությունը ArrayList-ի և LinkedList-ի միջև
Հիմնական տարբերությունը ArrayList-ի և LinkedList-ի միջև

Նկար 02. Օրինակ LinkedList

Ըստ վերը նշված ծրագրի՝ ստեղծվում է LinkedList-ի օբյեկտ։ Օգտագործելով ավելացնել մեթոդը, տարրերը կարող են ավելացվել դինամիկ: «A», «B», «C», «D» և «E» տարրերը ավելացվում են ավելացնելու մեթոդով: Հեռացման մեթոդը օգտագործվում է ցանկից որևէ տարր հեռացնելու համար: Հեռացման մեթոդին 4-ը փոխանցելիս ցուցակից հանվում է 4-րդ ինդեքսի «E» տառը: Երբ կրկնում եք՝ օգտագործելով for հանգույցը, կտպվեն A, B, C և D տառերը:

Որո՞նք են նմանությունները ArrayList-ի և LinkedList-ի միջև:

  • Եվ ArrayList-ը և LinkedList-ը իրականացնում են List ինտերֆեյս:
  • Եվ ArrayList-ը և LinkedList-ը կարող են պարունակել կրկնօրինակ տարրեր:
  • Եվ ArrayList-ը և LinkedList-ը պահպանում են տեղադրման կարգը:

Ո՞րն է տարբերությունը ArrayList-ի և LinkedList-ի միջև:

ArrayList ընդդեմ LinkedList

ArrayList-ը դաս է, որն ընդլայնում է AbstractList-ը և իրականացնում List միջերեսը, որը ներքուստ օգտագործում է դինամիկ զանգված՝ տվյալների տարրերը պահելու համար: LinkedList-ը դաս է, որը ընդլայնում է AbstractSequentialList-ը և իրականացնում List, Deque, Queue ինտերֆեյսներ, որոնք ներսից օգտագործում են կրկնակի կապակցված ցուցակ տվյալների տարրերը պահելու համար:
Մուտք գործելու տարրեր
ArrayList-ի տարրերի մուտքն ավելի արագ է, քան LinkedList-ից: LinkedList-ի տարրերի մուտքն ավելի դանդաղ է, քան ArrayList-ում:
Էլեմենտների կառավարում
ArrayList-ի տարրերի կառավարումն ավելի դանդաղ է, քան LinkedList-ում: LinkedList-ի տարրերի կառավարումն ավելի արագ է, քան ArrayList-ի:
Վարքագիծ
ArrayList-ը գործում է որպես ցուցակ: LinkedList-ը գործում է որպես ցուցակ և հերթ:

Ամփոփում – ArrayList ընդդեմ LinkedList

Հավաքածուի շրջանակը թույլ է տալիս աշխատել տվյալների կառուցվածքների հետ, ինչպիսիք են ցուցակները, ծառերը, քարտեզները և հավաքածուները: Ցանկը հավաքածուի շրջանակի միջերես է: Այս հոդվածը քննարկեց ArrayList-ի և LinkedList-ի միջև եղած տարբերությունը: ArrayList-ը դաս է, որն ընդլայնում է AbstractList-ը և իրականացնում է List միջերեսը, որը ներքուստ օգտագործում է դինամիկ զանգված՝ տվյալների տարրերը պահելու համար:LinkedList-ը դաս է, որն ընդլայնում է AbstractSequentialList-ը և իրականացնում List, Deque, Queue ինտերֆեյսներ, որոնք ներքուստ օգտագործում են կրկնակի կապակցված ցուցակ՝ տվյալների տարրերը պահելու համար: Դա ArrayList-ի և LinkedList-ի միջև տարբերությունն է:

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