CodeGym/Java Blog/Random/Arrays.asList() Paraan sa Java
John Squirrels
Antas
San Francisco

Arrays.asList() Paraan sa Java

Nai-publish sa grupo
Maraming mga nagsisimula ang pinaghalo-halo ang konsepto ng Arrays.asList() na pamamaraan sa istruktura ng data na ArrayList. Kahit na maaaring magkamukha at magkatulad ang mga ito, ang dalawang ito ay lubos na magkaiba pagdating sa pagpapatupad. Sa post na ito, sasakupin namin ang pangunahing paggamit ng Arrays.asList() na pamamaraan at aalisin ang ilang umiiral na kalituhan na nauugnay dito.

Bakit ginagamit ang Arrays.asList()?

Kung mayroon kang Array na kailangan mong gawing listahan, ang java.util.Arrays ay nagbibigay ng wrapper na Arrays.asList() upang maihatid ang layuning ito. Sa simpleng salita, ang paraang ito ay kumukuha ng array bilang parameter at nagbabalik ng listahan. Ang mga pangunahing bahagi ng Java platform API ay binuo bago ipinakilala ang balangkas ng mga koleksyon. Kaya paminsan-minsan, maaaring kailanganin mong magsalin sa pagitan ng mga tradisyonal na array at ng mas modernong mga koleksyon. Ang function na ito ay nagsisilbing link sa pagitan ng Collections at Array based na API.Arrays.asList() Paraan sa Java - 1

Halimbawa

Tingnan ang sumusunod na halimbawa:
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

public class ArraysAsListDemo {
    public static void main(String[] args) {

	String[] teamMembers = {"Amanda", "Loren", "Keith"};
      // using aslist() method
	List teamList = Arrays.asList(teamMembers);
	System.out.println("List : " + teamList);

	HashSet teamHashSet = new HashSet<>(Arrays.asList(teamMembers));
	System.out.println("HashSet : " + teamHashSet);
    }
}
Output:
Listahan : [Amanda, Loren, Keith] HashSet : [Keith, Loren, Amanda] // Ang HashSet ay hindi nagpapanatili ng kaayusan

Paano magkaiba ang Arrays.asList() at ArrayList?

Kapag tinawag mo ang paraan ng Arrays.asList() sa isang array, ang ibinalik na object ay hindi isang ArrayList (Isang resizable array na pagpapatupad ng List interface). Ito ay isang view object na may get() at set() na mga pamamaraan na nag-a-access sa pinagbabatayan na array. Ang lahat ng mga pamamaraan na magpapabago sa laki ng array gaya ng add() o remove() ng nauugnay na iterator ay nagtatapon ng UnsupportedOperationException . Ang dahilan kung bakit matagumpay na nag-compile ang java program ngunit nagbibigay ng Runtime Exception ay na, tila, ang isang "Listahan" ay ibinalik bilang resulta ngArrays.asList() . Kung saan pinahihintulutan ang lahat ng pagpapatakbo ng pagdaragdag/pagtanggal. Ngunit dahil, ang pinagbabatayan na istraktura ng data ay isang hindi nababagong "array" , kung kaya't ang isang pagbubukod ay itinapon sa oras ng pagtakbo. Narito ang isang snippet na nagpapakita kung ano ang hitsura nito:
import java.util.Arrays;
import java.util.List;
public class ArraysAsListDemo {
   public static void main(String[] args) {
	Integer[] diceRoll = new Integer[6];
      //using aslist() method
	List diceRollList = Arrays.asList(diceRoll);
	System.out.println(diceRollList);

	// using getters and setters to randomly access the list
	diceRollList.set(5, 6);
	diceRollList.set(0, 1);
	System.out.println(diceRollList.get(5));
	System.out.println(diceRollList.get(1));

	System.out.println(diceRollList);

	diceRollList.add(7); // Add a new Integer to the list
    }
}
Output:
[null, null, null, null, null, null] 6 null [1, null, null, null, null, 6] Exception sa thread na "main" java.lang.UnsupportedOperationException sa java.util.AbstractList.add(AbstractList. java:148) sa java.util.AbstractList.add(AbstractList.java:108) sa ArraysAsListDemo.main(ArraysAsListDemo.java:20)

Mga halimbawa para sa paggamit ng asList() na pamamaraan

Bilang ng Java SE 5.0, ang asList() na paraan ay idineklara na may variable na bilang ng mga argumento. Sa halip na magpasa ng array, maaari mo ring ipasa ang mga indibidwal na elemento. Halimbawa:
import java.util.Arrays;
import java.util.List;
public class ArraysAsListDemo {
    public static void main(String[] args) {
	List seasons = Arrays.asList("winter", "summer", "spring", "fall");
	List odds = Arrays.asList(1, 3, 5, 7, 9);

	System.out.println(seasons);
	System.out.println(odds);
    }
}
Output:
[taglamig, tag-araw, tagsibol, taglagas] [1, 3, 5, 7, 9]

Konklusyon

Upang magamit ang Arrays.asList() kailangan mong tandaan na isa lamang itong paraan ng wrapper para sa iyong sariling utility. Huwag ihalo ito sa ArrayList at tandaan na nagbabalik ito ng "listahan". Sa una maaari kang makakuha ng mga error para sa pagsasagawa ng mga pagdaragdag/pag-alis ng mga function, ngunit ang lahat ng ito ay nawawala nang may pare-parehong kasanayan at pag-unawa. Kaya pindutin ang iyong IDE at magkaroon ng magandang karanasan sa pag-aaral!
Mga komento
  • Sikat
  • Bago
  • Luma
Dapat kang naka-sign in upang mag-iwan ng komento
Wala pang komento ang page na ito