CodeGym/Java Blogu/Rastgele/Java'da Arrays.asList() Yöntemi
John Squirrels
Seviye
San Francisco

Java'da Arrays.asList() Yöntemi

grupta yayınlandı
Yeni başlayanların çoğu, Arrays.asList() yöntemi kavramını ArrayList veri yapısıyla karıştırır. Benzer görünseler ve ses çıkarsalar da, uygulama söz konusu olduğunda bu ikisi tamamen farklıdır. Bu yazıda, Arrays.asList() yönteminin temel kullanımını ele alacağız ve bununla ilgili bazı yaygın kafa karışıklıklarını ortadan kaldıracağız.

Arrays.asList() neden kullanılıyor?

Listeye dönüştürmeniz gereken bir Diziniz varsa, java.util.Arrays bu amaca hizmet etmek için bir sarmalayıcı Arrays.asList() sağlar. Basit bir ifadeyle, bu yöntem bir diziyi parametre olarak alır ve bir liste döndürür. Java platformu API'sinin büyük bölümleri, koleksiyonlar çerçevesi tanıtılmadan önce geliştirildi. Bu nedenle, bazen geleneksel diziler ile daha modern koleksiyonlar arasında geçiş yapmanız gerekebilir. Bu işlev, Koleksiyonlar ve Dizi tabanlı API'ler arasında bir bağlantı görevi görür.Java'da Arrays.asList() Yöntemi - 1

Örnek

Aşağıdaki örneğe bir göz atın:
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);
    }
}
Çıktı:
Liste : [Amanda, Loren, Keith] HashSet : [Keith, Loren, Amanda] // HashSet düzeni sağlamaz

Arrays.asList() ve ArrayList nasıl farklıdır?

Bir dizide Arrays.asList() yöntemini çağırdığınızda , döndürülen nesne bir ArrayList ( Liste arayüzünün yeniden boyutlandırılabilir bir dizi uygulaması ) değildir . Alttaki diziye erişen get() ve set() yöntemlerine sahip bir görüntüleme nesnesidir . İlişkili yineleyicinin add() veya remove() gibi dizinin boyutunu değiştirecek tüm yöntemler bir UnsupportedOperationException fırlatır . Java programının başarılı bir şekilde derlenmesinin ancak bir Çalışma Zamanı İstisnası vermesinin nedeni, görünüşe göre, bir "Liste" sonucunun döndürülmesidir.Diziler.asList() . Tüm ekleme/çıkarma işlemlerine izin verildiğinde. Ancak, temel alınan veri yapısı yeniden boyutlandırılamayan bir "dizi" olduğundan , çalışma zamanında bir istisna atılır. İşte nasıl göründüğünü gösteren bir pasaj:
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
    }
}
Çıktı:
[null, null, null, null, null, null] 6 null [1, null, null, null, null, 6] Java.util.AbstractList.add(AbstractList. java:148) java.util.AbstractList.add(AbstractList.java:108) adresinde ArraysAsListDemo.main(ArraysAsListDemo.java:20) konumunda

asList() yöntemini kullanma örnekleri

Java SE 5.0'dan itibaren, asList() yönteminin değişken sayıda bağımsız değişkene sahip olduğu bildirildi. Bir diziyi iletmek yerine, tek tek öğeleri de iletebilirsiniz. Örneğin:
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);
    }
}
Çıktı:
[kış, yaz, ilkbahar, sonbahar] [1, 3, 5, 7, 9]

Çözüm

Arrays.asList()'i kullanmak için, bunun yalnızca kendi yardımcı programınız için bir sarma yöntemi olduğunu aklınızda tutmanız gerekir. ArrayList ile karıştırmayın ve bir "liste" döndürdüğünü unutmayın. Başlangıçta ekleme/çıkarma işlevlerini gerçekleştirirken hatalar alabilirsiniz, ancak tutarlı uygulama ve anlayışla bunların hepsi ortadan kalkar. Öyleyse IDE'nize basın ve harika bir öğrenme deneyimi yaşayın!
Yorumlar
  • Popüler
  • Yeni
  • Eskimiş
Yorum bırakmak için giriş yapmalısınız
Bu sayfada henüz yorum yok