java list how create
Bu Java Listesi Eğitimi, Java'da Listelerin Nasıl Oluşturulacağını, Başlatılacağını ve Yazdırılacağını Açıklar. Öğretici ayrıca Tam Kod Örneğine Sahip Listelerin Listesini Açıklar:
Bu eğitim, Java Koleksiyon Arayüzündeki temel yapılardan biri olan veri yapısı 'list' i size tanıtacaktır.
Java'da bir liste, bir sıraya göre bir dizi öğedir. Java.util paketinin Liste arabirimi, List adı verilen belirli bir biçimde sıralanan bu nesne dizisini uygulayan arabirimdir.
=> TÜM Java Öğreticilerini Buradan Kontrol Edin.
Tıpkı diziler gibi, liste öğelerine de 0'dan başlayan ilk indeks ile indeksler kullanılarak erişilebilir.
Java'daki listenin bazı özellikleri şunları içerir:
- Listelerin yinelenen öğeleri olabilir.
- Listede ayrıca 'boş' öğeler olabilir.
- Listeler jenerikleri destekler, yani genel listelere sahip olabilirsiniz.
- Aynı listede karışık nesneler de (farklı sınıflardan nesneler) olabilir.
- Listeler her zaman ekleme sırasını korur ve konumsal erişime izin verir.
Ne öğreneceksin:
- Java Listesi
- Sonuç
Java Listesi
Java Listesi arabirimi, Java Koleksiyonu arabiriminin bir alt türüdür. Bu, Java'nın Koleksiyon arayüzünü miras alan standart arayüzdür.
Aşağıda, Java Listesi arayüzünün bir sınıf diyagramı verilmiştir.
Yukarıdaki sınıf diyagramında gösterildiği gibi, Java listesi arabirimi java.util paketinin Koleksiyon arabiriminden genişler ve bu da java.util paketinin yinelenebilir arabiriminden genişler. AbstractList sınıfı, Liste arayüzünün iskelet uygulamasını sağlar.
LinkedList, Stack, Vector, ArrayList ve CopyOnWriteArrayList sınıfları, programcılar tarafından sıklıkla kullanılan List arayüzünün tüm uygulama sınıflarıdır. Dolayısıyla, Java'da Stack, LinkedList, ArrayList ve Vector olmak üzere dört tür liste vardır.
Bu nedenle, liste Arayüzü uygulamanız gerektiğinde, gereksinimlere bağlı olarak yukarıdaki liste türü sınıflarından herhangi birini uygulayabilirsiniz. Liste arayüzünün işlevselliğini programınıza dahil etmek için yapmanız gerekenler liste arayüzünü ve diğer sınıf tanımlarını içeren java.util. * paketini aşağıdaki gibi içe aktarın:
import java.util.*;
Liste Oluştur ve Bildir
List'in bir arayüz olduğunu ve ArrayList, Stack, Vector ve LinkedList gibi sınıflar tarafından uygulandığını zaten belirtmiştik. Böylece yapabilirsin Aşağıdaki yollardan herhangi biriyle listenin örneklerini ilan edin ve oluşturun:
List linkedlist = new LinkedList(); List arrayList = new ArrayList(); List vec_list = new Vector(); List stck_list = new Stack();
Yukarıda gösterildiği gibi, yukarıdaki sınıflardan herhangi biriyle bir liste oluşturabilir ve ardından bu listeleri değerlerle başlatabilirsiniz. Yukarıdaki ifadelerden, listenin bir örneğini oluşturmak için kullanılan sınıfa bağlı olarak öğelerin sırasının değişeceğini anlayabilirsiniz.
Örneğin, yığın sınıfına sahip bir liste için sıra Son Giren, İlk Çıkar (LIFO) şeklindedir.
Java Listesini Başlatın
Bir liste nesnesini başlatmak için aşağıda verilen yöntemlerden herhangi birini kullanabilirsiniz.
# 1) asList Yöntemini Kullanma
AsList () yöntemi, Arrays konusunda zaten ayrıntılı olarak ele alınmıştır. Dizi değerlerini kullanarak değişmez bir liste oluşturabilirsiniz.
Genel sözdizimi şöyledir:
List listname = Arrays.asList(array_name);
Burada veri_türü, dizininkiyle eşleşmelidir.
Yukarıdaki ifade değişmez bir liste oluşturur. Listenin değiştirilebilir olmasını istiyorsanız, yeni kullanarak listenin bir örneğini oluşturmanız ve ardından asList yöntemini kullanarak dizi öğelerini ona atamanız gerekir.
Bu, aşağıda gösterildiği gibidir:
List listname = new ArrayList (Arrays.asList(array_name));
Haydi Java'da, asList yöntemini kullanarak listenin oluşturulmasını ve başlatılmasını gösteren bir program uygulayın .
fonksiyonel ve fonksiyonel olmayan testler arasındaki fark
import java.util.*; public class Main { public static void main(String() args) { //array of strings String() strArray = {'Delhi', 'Mumbai', 'Kolkata', 'Chennai'}; //initialize an immutable list from array using asList method List mylist = Arrays.asList(strArray); //print the list System.out.println('Immutable list:'); for(String val : mylist){ System.out.print(val + ' '); } System.out.println('
'); //initialize a mutable list(arraylist) from array using asList method List arrayList = new ArrayList(Arrays.asList(strArray)); System.out.println('Mutable list:'); //add one more element to list arrayList.add('Pune'); //print the arraylist for(String val : arrayList){ System.out.print(val + ' '); } }
Çıktı:
Yukarıdaki programda, ilk olarak asList yöntemini kullanarak değişmez listeyi oluşturduk. Ardından, ArrayList'in bir örneğini oluşturarak ve ardından bu ArrayList'i asList yöntemini kullanarak dizideki değerlerle başlatarak değiştirilebilir bir liste oluşturuyoruz.
İkinci liste değiştirilebilir olduğu için, ona daha fazla değer de ekleyebileceğimizi unutmayın.
# 2) List.add () kullanma
Daha önce de belirtildiği gibi, liste sadece bir arayüz olduğu için somutlaştırılamaz. Ancak bu arayüzü uygulayan sınıfları somutlaştırabiliriz. Bu nedenle, liste sınıflarını başlatmak için, bir liste arabirimi yöntemi olan ancak her bir sınıf tarafından uygulanan ilgili ekleme yöntemlerini kullanabilirsiniz.
Eğer sen aşağıdaki gibi bağlantılı bir liste sınıfını somutlaştırın:
List llist = new LinkedList ();
Ardından, bir listeye bir öğe eklemek için aşağıdaki gibi add yöntemini kullanabilirsiniz:
llist.add(3);
Listenin aynı ifadede add yöntemini çağırarak başlatıldığı ve başlatıldığı 'Çift ayraç başlatma' adlı bir teknik de vardır.
Bu, aşağıda gösterildiği gibi yapılır:
List llist = new LinkedList (){{ add(1); add(3);}};
Yukarıdaki ifade, listeye 1 ve 3 öğelerini ekler.
Aşağıdaki program, add yöntemini kullanarak listenin başlatılması . Ayrıca çift küme ayracı başlatma tekniğini kullanır.
import java.util.*; public class Main { public static void main(String args()) { // ArrayList.add method List str_list = new ArrayList(); str_list.add('Java'); str_list.add('C++'); System.out.println('ArrayList : ' + str_list.toString()); // LinkedList.add method List even_list = new LinkedList(); even_list.add(2); even_list.add(4); System.out.println('LinkedList : ' + even_list.toString()); // double brace initialization - use add with declaration & initialization List num_stack = new Stack(){{ add(10);add(20); }}; System.out.println('Stack : ' + num_stack.toString()); } }
Çıktı:
Bu program, ArrayList, LinkedList ve Stack gibi üç farklı liste bildirimine sahiptir.
ArrayList ve LinkedList nesneleri somutlaştırılır ve ardından bu nesnelere öğe eklemek için add yöntemleri çağrılır. Yığın için, ekleme yönteminin somutlaştırma sırasında çağrıldığı çift küme ayracı başlatma kullanılır.
# 3) Koleksiyon Sınıfı Yöntemlerini Kullanma
Java'nın koleksiyon sınıfı, listeyi başlatmak için kullanılabilecek çeşitli yöntemlere sahiptir.
Yöntemlerden bazıları şunlardır:
- hepsini ekle
koleksiyonlar için genel sözdizimi addAll yöntemi:
List listname = Collections.EMPTY_LIST; Collections.addAll(listname = new ArrayList(), values…);
Burada boş bir listeye değerler eklersiniz. AddAll yöntemi, listeyi ilk parametre olarak alır ve ardından listeye eklenecek değerler gelir.
- unmodifiableList ()
'UnmodifiableList ()' yöntemi, öğelerin eklenemeyeceği veya silinemeyeceği değişmez bir liste döndürür.
Bu yöntemin genel sözdizimi aşağıdaki gibidir:
List listname = Collections.unmodifiableList(Arrays.asList(values…));
Yöntem, liste değerlerini parametre olarak alır ve bir liste döndürür. Bu listeden herhangi bir öğeyi eklemeye veya silmeye çalışırsanız, derleyici bir istisna atar. UnsupportedOperationException.
- singletonList ()
'SingletonList' yöntemi, içinde tek bir öğe bulunan bir liste döndürür. Liste değişmezdir.
Bu yöntemin genel sözdizimi şöyledir:
List listname = Collections.singletonList(value);
Aşağıdaki Java programı, Collections sınıfının üç yöntemini de gösterir yukarıda tartışılan.
import java.util.*; public class Main { public static void main(String args()) { // empty list List list = new ArrayList(); // Instantiating list using Collections.addAll() Collections.addAll(list, 10, 20, 30, 40); // Print the list System.out.println('List with addAll() : ' + list.toString()); // Create& initialize the list using unmodifiableList method List intlist = Collections.unmodifiableList( Arrays.asList(1,3,5,7)); // Print the list System.out.println('List with unmodifiableList(): ' + intlist.toString()); // Create& initialize the list using singletonList method List strlist = Collections.singletonList('Java'); // Print the list System.out.println('List with singletonList(): ' + strlist.toString()); } }
Çıktı:
# 4) Java8 Akışlarını Kullanma
Java 8'de akışların tanıtılmasıyla, bir veri akışı da oluşturabilir ve bunları bir listede toplayabilirsiniz.
Devamındaki program, stream kullanarak bir listenin oluşturulmasını gösterir.
import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Main { public static void main(String args()) { // Creating a List using toList Collectors method List list1 = Stream.of('January', 'February', 'March', 'April', 'May') .collect(Collectors.toList()); // Print the list System.out.println('List from Java 8 stream: ' + list1.toString()); } }
Çıktı:
Yukarıdaki program dizge akışını bir liste halinde toplar ve döndürür. Collect işlevindeki asList dışında 'toCollection', 'unmodifiableList' vb. Gibi diğer Collectors yöntemlerini de kullanabilirsiniz.
# 5) Java 9 List.of () Yöntemi
Java 9, List.of () 'de herhangi bir sayıda öğe alan ve bir liste oluşturan yeni bir yöntem tanıtıldı. Oluşturulan liste değişmezdir.
import java.util.List; public class Main { public static void main(String args()) { // Create a list using List.of() List strList = List.of('Delhi', 'Mumbai', 'Kolkata'); // Print the List System.out.println('List using Java 9 List.of() : ' + strList.toString()); } }
Çıktı:
Liste Örneği
Aşağıda bir liste arayüzü ve çeşitli yöntemlerini kullanmanın eksiksiz bir örneği verilmiştir.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List intList = new ArrayList(); //add two values to the list intList.add(0, 10); intList.add(1, 20); System.out.println('The initial List:
' + intList); // Creating another list List cp_list = new ArrayList(); cp_list.add(30); cp_list.add(40); cp_list.add(50); // add list cp_list to intList from index 2 intList.addAll(2, cp_list); System.out.println('List after adding another list at index 2:
'+ intList); // Removes element from index 0 intList.remove(0); System.out.println('List after removing element at index 0:
' + intList); // Replace value of last element intList.set(3, 60); System.out.println('List after replacing the value of last element:
' + intList); } }
Çıktı:
Yukarıdaki program çıktısı, bir ArrayList üzerinde gerçekleştirilen çeşitli işlemleri gösterir. İlk olarak listeyi oluşturur ve başlatır. Daha sonra başka bir listenin içeriğini bu listeye kopyalar ve ayrıca listeden bir öğeyi kaldırır. Son olarak, listedeki son öğeyi başka bir değerle değiştirir.
Liste yöntemlerini bir sonraki eğitimimizde ayrıntılı olarak inceleyeceğiz.
Baskı Listesi
Java'da listenin öğelerini yazdırabileceğiniz çeşitli yöntemler vardır.
Burada bazı yöntemleri tartışalım.
# 1) Döngü İçin Kullanma / Döngü İçin İyileştirilmiş
Liste, endeksler kullanılarak erişilebilen sıralı bir koleksiyondur. Listenin her bir öğesini yazdırmak için indisleri kullanarak yinelemek için kullanılan for döngüsünü kullanabilirsiniz.
Java, listenin her öğesine erişmek ve yazdırmak için de kullanılabilen, gelişmiş for döngüsü olarak bilinen başka bir for döngüsü sürümüne sahiptir.
Aşağıda gösterilen Java programı, for döngüsü ve geliştirilmiş for döngüsü kullanılarak liste içeriklerinin yazdırılması.
import java.util.List; import java.util.ArrayList; import java.util.Arrays; class Main{ public static void main (String() args) { //string list List list = Arrays.asList('Java', 'Python', 'C++', 'C', 'Ruby'); //print list using for loop System.out.println('List contents using for loop:'); for (int i = 0; i Çıktı:
# 2) toString Yöntemini Kullanma
Liste arayüzünün 'toString ()' yöntemi, listenin dize temsilini döndürür.
Aşağıdaki program toString () yönteminin kullanımını gösterir.
import java.util.List; import java.util.ArrayList; class Main{ public static void main (String() args){ //initialize a string list List list = new ArrayList(){{add('Python');add('C++');add('Java');}}; // string representation of list using toString method System.out.println('List contents using toString() method:' + list.toString()); } }
Çıktı:
Diziye Dönüştürülen Liste
Listenin, listeyi bir diziye dönüştüren toArray () yöntemi vardır. Bir diziye dönüştürüldükten sonra, bu dizinin içeriğini yazdırmak için ilgili konuda tartışılan dizi yöntemlerini kullanabilirsiniz. For veya geliştirilmiş for döngüsü veya hatta toString yöntemini kullanabilirsiniz.
Aşağıda verilen örnek dizi içeriğini yazdırmak için toString yöntemini kullanır.
import java.util.*; class Main { public static void main (String() args) { //list of odd numbers List oddlist = Arrays.asList(1,3,5,7,9,11); // using List.toArray() method System.out.println('Contents of list converted to Array:'); System.out.println(Arrays.toString(oddlist.toArray())); } }
Çıktı:
Java 8 Akışlarını Kullanma
Akışlar Java 8'de tanıtılır. Listede döngü yapmak için akışlardan yararlanabilirsiniz. Listede yineleyebileceğiniz lambdalar da vardır.
Aşağıdaki program gösterir Listeyi yinelemek ve içeriğini görüntülemek için akışların kullanımı.
import java.util.*; class Main{ public static void main (String() args){ //list of even numbers List evenlist = Arrays.asList(2,4,6,8,10,12,14); // print list using streams System.out.println('Contents of evenlist using streams:'); evenlist.stream().forEach(S ->System.out.print(S + ' ')); } }
Çıktı:
Yukarıda tartışılan yöntemlerin yanı sıra, listeyi yinelemek ve içeriğini görüntülemek için liste yineleyicileri kullanabilirsiniz. Sonraki eğitimlerde liste yineleyici hakkında eksiksiz bir makaleye sahip olacağız.
Listelerin Listesi
Java listesi arayüzü 'liste listesini' destekler. Bunda, listenin bireysel öğeleri yine bir listedir. Bu, başka bir listenin içinde bir listeye sahip olabileceğiniz anlamına gelir.
Bu kavram, örneğin CSV dosyalarından veri okumanız gerektiğinde çok kullanışlıdır. Burada, listelerin içindeki birden fazla listeyi veya listeyi okumanız ve ardından bunları bellekte saklamanız gerekebilir. Yine bu verileri işlemeniz ve dosyaya geri yazmanız gerekecek. Bu nedenle, bu gibi durumlarda, veri işlemeyi basitleştirmek için bir liste listesi tutabilirsiniz.
Aşağıdaki Java programı, Java listelerinin bir örneğini göstermektedir.
Bu programda, String türünde listelerin bir listesi var. String türünde iki ayrı liste oluşturuyoruz ve bu listelere değerler atıyoruz. Bu listelerin her ikisi de, add yöntemi kullanılarak liste listesine eklenir.
Liste listesinin içeriğini görüntülemek için iki döngü kullanıyoruz. Dış döngü (foreach), listelere erişen listelerin listelerini yineler. İç foreach döngüsü, bu listelerin her birinin ayrı dizgi öğelerine erişir.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String() args) { //create list of lists List java_listOfLists = new ArrayList (); //create a language list and add elements to it ArrayList lang_list = new ArrayList(); lang_list.add('Java'); lang_list.add('C++'); //add language list to java list of list java_listOfLists.add(lang_list); //create a city list and add elements to it ArrayList city_list = new ArrayList(); city_list.add('Pune'); city_list.add('Mumbai'); //add the city list to java list of lists java_listOfLists.add(city_list); //display the contents of list of lists System.out.println('Java list of lists contents:'); java_listOfLists.forEach((list) -> //access each list { list.forEach((city)->System.out.print(city + ' ')); //each element of inner list }); } }
Çıktı:
ücretsiz en iyi mp3 indirme sitesi nedir?
Java liste listesi küçük bir kavramdır, ancak özellikle programınızdaki karmaşık verileri okumanız gerektiğinde önemlidir.
Sıkça Sorulan Sorular
S # 1) Java'da liste ve set nedir?
Cevap: Liste, sıralı bir öğe koleksiyonudur. Listede yinelenen öğeleriniz olabilir.
Bir küme, sıralı bir koleksiyon değildir. Setteki öğeler belirli bir sıraya göre düzenlenmemiştir. Ayrıca, setteki öğelerin benzersiz olması gerekir. Yinelemelere izin vermez.
S # 2) Java'da bir liste nasıl çalışır?
Cevap: Liste, Koleksiyon arayüzünden genişleyen bir Java arayüzüdür. ArrayList, LinkedList, Stack ve Vector sınıfları liste arayüzünü uygular. Dolayısıyla bir programcı, liste arayüzünün işlevselliğini kullanmak için bu sınıfları kullanabilir.
S # 3) Java'da ArrayList nedir?
Cevap: ArrayList dinamik bir dizidir. Yeniden boyutlandırılabilir bir öğe koleksiyonudur ve liste arayüzünü uygular. ArrayList, öğeleri depolamak için dahili olarak bir dizi kullanır.
S # 4) Java'da listeler 0'dan mı yoksa 1'den mi başlıyor?
Cevap: Java'daki listelerin sıfır tabanlı bir tamsayı indeksi vardır. Bu, listedeki ilk öğenin dizin 0'da, ikinci öğenin dizin 1'de vb. Olduğu anlamına gelir.
S # 5) Liste sıralandı mı?
Cevap: Evet. Liste, sıralı bir öğe koleksiyonudur. Bu sıra, listeye yeni bir elemanın eklenmesi sırasında korunur,
Sonuç
Bu eğitim, Java'daki liste arayüzüne bir giriş yaptı. Ayrıca, listelerin oluşturulması, başlatılması, listelerin yazdırılması vb. Gibi başlıca liste kavramlarını tartıştık.
Gelecek eğitimlerimizde, liste arayüzü tarafından sağlanan çeşitli yöntemleri tartışacağız. Liste nesnesini yinelemek için kullanılan yineleyici yapısını da tartışacağız. Liste nesnelerinin diğer veri yapılarına dönüştürülmesini gelecek eğitimimizde tartışacağız.
=> Java Eğitim Serisini Herkes İçin Görmek İçin Burayı Ziyaret Edin.
Önerilen Kaynaklar
- Java Dizisi - Java'da Bir Dizi Bildirin, Oluşturun ve Başlatın
- Java'da Nesne Dizisi: Nasıl Oluşturulur, Başlatılır ve Kullanılır
- Java Hello World - Bugün Java'da İlk Programınızı Oluşturun
- Java Dağıtımı: Java JAR Dosyasının Oluşturulması ve Yürütülmesi
- Java Sanal Makinesi: JVM, Java Uygulamasını Çalıştırmada Nasıl Yardımcı Olur?
- Java'da Erişim Değiştiriciler - Örneklerle Eğitim
- Örneklerle Java Yansıtma Eğitimi
- Java Programlama Diline Giriş - Video Eğitimi