Pagkakaiba sa pagitan ng ArrayList at Vector sa Java
Nilalaman
Parehong ArrayList at Vector pareho ang mga klase sa ilalim ng hierarchy ng Collection Framework. Ang ArrayList at Vector, pareho ay ginagamit upang lumikha ng isang pabago-bagong hanay ng mga bagay kung saan maaaring lumaki ang array sa laki at kung kinakailangan. Mayroong dalawang pangunahing pagkakaiba-iba na makilala ang ArrayList at Vector ay ang Vector ay kabilang sa mga klase ng Legacy na kalaunan ay muling nag-reaksyon upang suportahan ang mga klase ng koleksyon samantalang, ang isang ArrayList ay isang pamantayang klase ng koleksyon. Ang isa pang mahalagang pagkakaiba ay ang ArrayList ay hindi naka-synchronize sa kabilang banda; Ang Vector ay naka-synchronize.
Pag-aralan natin ang ilang iba pang pagkakaiba sa tulong ng Comparison Chart na ipinakita sa ibaba.
- Tsart ng paghahambing
- Kahulugan
- Pangunahing Pagkakaiba
- Pagkakatulad
- Konklusyon
Tsart ng paghahambing
Batayan para sa Paghahambing | ArrayList | Vector |
---|---|---|
Pangunahing | Ang klase ng ArrayList ay hindi naka-synchronize. | Ang klase ng Vector ay naka-synchronize. |
Klase ng pamana | Ang ArrayList ay isang karaniwang klase ng Koleksyon. | Ang Vector ay isang legacy class, muling inhinyero upang suportahan ang klase ng koleksyon. |
Pahayag ng Klase | klase ArrayList | klase ng Vector |
Pagpapansin | Kapag hindi tinukoy ang isang ArrayList ay nadagdagan ng kalahati ng laki nito. | Kapag hindi tinukoy, ang isang vector ay nadagdagan upang doble ang laki nito. |
Pagganap | Tulad ng ArrayList ay hindi nai-synchronise, mas mabilis itong nagpapatakbo kaysa Vector. | Tulad ng pag-synchronize ng Vector, nagpapatakbo ito ng mas mabagal kaysa sa ArrayList. |
Enumeration / Iterator | Gumagamit ang ArrayList ng interface ng Iterator upang maglakbay sa mga bagay na nakaimbak sa ArrayList. | Gumagamit ang Vector ng Enumeration pati na rin ang interface ng Iterator upang maipasa ang mga bagay na nakaimbak sa Vectors. |
Kahulugan ng ArrayList
Ang ArrayList ay kabilang sa listahan ng mga karaniwang klase ng koleksyon. Ang klase ng ArrayList ay tinukoy sa loob ng java.util package, pinalawak nito ang AbstractList klase na isa ring pamantayang klase ng koleksyon, at ipinatutupad din nito Listahan, isang interface na tinukoy sa Mga Koleksyon ng Koleksyon. Sa Java, ang isang karaniwang hanay ay palaging may nakapirming haba. Nangangahulugan ito kapag nilikha; hindi ito pabagu-bago ng lumaki o pag-urong sa laki. Kaya, dapat mong magkaroon ng naunang kaalaman sa haba ng array na ginagamit mo. Ngunit, kung minsan maaaring mangyari na ang kinakailangang haba ay ipinahayag sa runtime kaya, upang mahawakan ang ganitong uri ng sitwasyon na ipinakilala ng java sa ArrayList.
Ang ArrayList ay klase na ginagamit para sa pabago-bagong paglikha ng isang laruang nagtataglay ng mga sanggunian sa mga bagay. Ang laruang ito ay maaaring lumago sa laki at kung kinakailangan. Ang pahayag ng klase ay bilang sumusunod:
klase ArrayList Dito, tinutukoy ng E ang uri ng mga bagay na hahawakan ng isang array. Ang array na nilikha ay may variable na haba, at nagdaragdag at bumababa sa laki kapag ang mga bagay ay idinagdag o tinanggal mula sa listahan. Ang ArrayList ay hindi naka-synchronize na nangangahulugang, higit sa isang thread ay maaaring gumana sa array nang sabay. Halimbawa, kung ang isang thread ay nagdaragdag ng isang sangguniang object sa array at ang isa pang thread ay nag-aalis ng isang sangguniang object mula sa parehong hanay nang sabay. Ang paglikha ng isang dynamic na hanay gamit ang klase ng ArrayList: ArrayList Sa code sa itaas, makikita mo iyon; Gumawa ako ng isang hanay ng mga bagay ng uri ng string. Nagdagdag ako ng ilang mga bagay sa array S1 gamit ang add () na pamamaraan, at kalaunan tinanggal ang ilang mga bagay gamit ang alisin () na pamamaraan. Maaari mong obserbahan kung hindi mo tinukoy ang paunang sukat ng array na ito ay haba ng '0'. Tulad ng nakikita mo na lumalaki ang array at pag-urong sa laki habang idinagdag mo at tinanggal ang mga elemento. Ang Vector ay isang klase ng Legacy na muling nakikilala upang suportahan ang klase ng koleksyon sa hierarchy ng Collection Framework. Ang klase ng vector ay tinukoy din sa java.util package, pinalawak ng AbstractList klase at ipinatupad ng Listahan interface. Ang klase ng Vector ay idineklarang sumusunod: klase ng Vector Dito, tinukoy ng E ang uri ng bagay na maiimbak sa isang hanay. Ang isang array na nilikha gamit ang klase ng Vector ay may variable na haba. Ito ay nagdaragdag ng doble ang laki nito kung hindi tinukoy ang pagdaragdag. Unawain natin ang paglikha ng array gamit ang Vector. Vector Sa itaas na code maaari mong makita iyon, partikular na nabanggit ko ang laki at pagtaas ng halaga sa tagabuo ng Vector ayon sa pagkakabanggit, habang idineklara ang hanay ng mga bagay na string. Samakatuwid, maaari mong obserbahan na bilang limitasyon ng pagtatapos ng array, nadaragdagan ito ng halaga na ibinigay sa tagabuo habang idineklara. Nagtapos ako sa pamamagitan ng pagsasabi na ang paggamit ng ArrayList ay mas mahusay kaysa sa paggamit ng Vector dahil ito ay gumaganap nang mas mabilis at mas mahusay.Kahulugan ng Vector
Pagkakatulad:
Konklusyon: