CodeGym /Java Blog /Random /Conversion ng Array To ArrayList sa Java
John Squirrels
Antas
San Francisco

Conversion ng Array To ArrayList sa Java

Nai-publish sa grupo
Hi! Sa aralin ngayon, pag-uusapan natin ang tungkol sa Paano Magsimula ng Array Sa Java at Paano Mag-convert ng Array sa Arraylist. Ang mga array ay isang extension ng klase ng Container sa Java at maaaring maging kapaki-pakinabang bilang isang paraan upang pansamantalang magkaroon ng isang hanay ng mga primitive na uri ng data kapag ang dami ng data ay partikular na nalalaman. Ngunit ang mga Array ay static kapag ginawa, na nangangahulugan na kapag gumawa ka ng isa, hindi mo mababago ang bilang ng mga item na hawak nito. Dapat mong tandaan kung paano simulan ang isang array sa java; parang ganito:

datatype[] isArray;
Kung saan ang datatype ay anumang primitive na uri ng data tulad ng int, float, long, o kahit String. Maaari mo ring ilagay ang mga bracket pagkatapos ng deklarasyon tulad nito:

datatype isArray[];
Kaya paano natin kukunin ang static na array na ito na may isang set na bilang ng mga elemento at i-convert ito sa isang ArrayList? Well, una, tingnan natin kung ano ang ArrayList.

Ang ArrayList

Ang isang ArrayList ay maaaring may katulad na pangalan sa isang Array ngunit ito ay ganap na naiiba. Iyon ay dahil ang isang ArrayList ay hindi nagpapalawak ng klase ng Container, pinapalawak nito ang klase ng Listahan. At nangangahulugan ito na ang lahat ay hinahawakan nang iba. Sa isang bagay, dahil ito ay isang Listahan, maaari mo itong manipulahin sa ibang paraan. Maaari mong dagdagan o bawasan ang laki ng ArrayList gamit ang add(element) , na naglalagay ng elemento sa dulo ng Listahan at pinapataas ang laki ng isa kung kinakailangan. O maaari mong gamitin ang trimToSize()na nag-aalis ng anumang walang laman na mga indeks sa dulo at pinuputol ang ArrayList sa kasalukuyang laki nito. Kaya makikita mo na may ilang mga pakinabang sa paggamit ng isang ArrayList sa halip na isang array lamang. Susunod, ipapakita namin sa iyo ang dalawang paraan upang mag-convert mula sa isang Array patungo sa isang ArrayList at kung paano bumalik kung kailangan mo.

Ang paglipat mula sa Array patungo sa ArrayList at ArrayList sa Array sa Java

Kaya, sabihin nating nagsulat ka ng isang programa upang mapanatili ang isang imbentaryo kung gaano karaming mga mani at bolts ang mayroon ang iyong kumpanya para sa pag-aayos ng mga puno ng pusa. Sa loob ng maraming taon, kailangan mo lang ng 30 iba't ibang uri ng mga ito, kaya naging madali na lang gumamit ng array para masubaybayan. Ngunit ngayon ay mayroon kang bagong kliyente na nangangailangan sa iyo na mag-stock ng karagdagang 5 uri. Paano mo mababago ang iyong programa at panatilihin ang lahat ng iyong data, AT mapipigilan ang iyong sarili na gawin itong muli kapag nakakuha ka ng isa pang kliyente? Tama iyan! Isang ArrayList! Kaya paano mo iko-convert ang isang Java Array sa isang ArrayList? May tatlong pamamaraan. Gamit ang pamamaraang .asList() Ang mga array ng Java ay may mahusay na tool na makikita mo kapag tiningnan mo ang API na tinatawag na .asList() . Kaya maaari mo lamang isulat dito:

boltInventory.asList(bolts);
Ang problema sa pamamaraang ito ay hindi ito lumikha ng isang tunay na ArrayList. Ang ginagawa nito ay lumikha ng isang Listahan na naayos sa laki at hindi nababago. Kaya hindi mo pa rin mababago ang laki sa isang dynamic na paraan. Ang pagsisikap na magdagdag o mag-alis ng mga elemento ay magdudulot ng pagbubukod. Kaya't habang mayroon itong mga gamit, hindi ito isang tunay na conversion. Pero magagamit natin ito. Gamit ang .asList() bilang isang Argumento Ito ang pangalawang paraan upang i-convert ang array sa listahan sa Java. Dahil ang .asList() na paraan ay lumilikha ng isang Listahan, magagamit namin iyon upang magpasa ng reference sa aming aktwal na ArrayList. Narito kung paano simulan ang isang ArrayList:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>();
Gagawa ito ng ArrayList na mayroong sampung walang laman na cell. Gayunpaman, ang () sa dulo ay maaaring gamitin upang magpasa ng argumento upang punan ang ArrayList. Kaya pagsasama-sama sa .asList na paraan, mayroon kang:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>(Arrays.asList(bolts));
Ipinapasa nito ang Listahan na ginawa ng .asList() na pamamaraan sa ArrayList, kaya ngayon ay maaari mo itong dynamic na manipulahin ayon sa kailangan mo. Gamit ang pamamaraang Collections.addAll() Ang isa pang paraan para mag-convert ng Array sa ArrayList sa Java ay ang paggamit ng paraang ito. Ipinapasa nito ang mga nilalaman ng Array sa ArrayList. Ang generic na syntax para sa pamamaraang ito ay:

Collections.addAll(c, T);
Kung saan c ang patutunguhan at T ang dinadaanan. Kaya para sa aming halimbawa, ang syntax ay magiging ganito:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>():
Collections.addAll(boltsInventory, bolts);
Ipapasa nito ang buong nilalaman ng Array bolts sa bagong ArrayList. Pag-convert ng ArrayList sa Array Maaaring may oras na kailangan mong i-convert ang ArrayList sa Array sa Java. Kung gagawin mo, ang ArrayList ay may paraan .toArray(a) , kung saan ang a ay ang patutunguhan. Kaya para sa aming halimbawa, ang syntax ay:

Integer boltsInventoryArray[] = new Integer{boltsInventory.size()];
// this ensures the newly created array is of the same size as the ArrayList
boltsInventoryArray = boltsInventory.toArray(boltsInventoryArray);
Kapag binago mo ang isang listahan sa array sa Java tulad nito, lumilikha ka ng malalim na kopya. Iyon ay, ang lahat ng mga sanggunian sa Array ay iba sa mga sanggunian sa ArrayList. Kaya maaari mong manipulahin ang data sa Array nang hindi binabago ang data na nakaimbak sa ArrayList. Ito ay kapaki-pakinabang upang i-convert ang isang java list sa isang array kapag kailangan mong subukan ang data.

Konklusyon

Ang mga array ay lubhang kapaki-pakinabang para sa mabilis na pag-access at mabilis na pagmamanipula ng mas maliliit na set ng data, ngunit ang kawalan ng kakayahang baguhin ang kanilang laki ay nangangahulugan na mabilis silang nawalan ng kahusayan para sa pangmatagalang paggamit. Ang ArrayList ay nagbibigay sa iyo ng kakayahang umangkop at kakayahang magpasok at mag-alis ng mga node kung kinakailangan. Ang pag-aaral kung paano i-convert ang isang Java Array sa isang Listahan ay mapapabuti ang pangkalahatang kahusayan ng iyong mga programa at mapapabuti rin ang kanilang mga runtime.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION