java list methods sort list
Bu Eğitimde Sıralama Listesi, İçerir Liste, Liste Ekle, Liste Kaldırma, Liste Boyutu, Tümü Ekle, Tümünü Kaldır, Listeyi Ters Çevir ve Daha Fazlası gibi çeşitli Java Liste Yöntemleri Açıklanmaktadır:
Önceki eğitimimizde genel olarak liste arayüzünü zaten tartışmıştık. Liste arabirimi, listenin içeriğini değiştirmek için kullanılan çeşitli yöntemlere sahiptir. Bu yöntemleri kullanarak listedeki öğeleri ekleyebilir / silebilir, sıralayabilir ve arayabilirsiniz.
Bu eğitimde, liste arayüzü tarafından sağlanan tüm yöntemleri tartışacağız.
=> Java Eğitim Öğreticilerinin A-Z'sini Burada Görmek İçin Burayı Kontrol Edin.
Listeyi yinelemek için liste arabirimi liste yineleyiciyi kullanır. Bu liste yineleyici, yineleyici arabiriminden genişler. Bir sonraki eğitimimizde, liste yineleyicisi hakkında daha fazla şey keşfedeceğiz.
Ne öğreneceksin:
- Java'da Yöntemleri Listeleme
- Java'da Bir Listeden Yinelenenleri Kaldır
- Sıkça Sorulan Sorular
- Sonuç
- Önerilen Kaynaklar
Java'da Yöntemleri Listeleme
Aşağıdaki tablo, Java'daki liste arabirimi tarafından sağlanan çeşitli işlevleri gösterir.
Liste yöntemi | Yöntem Prototipi | Açıklama |
---|---|---|
içerir | boolean içerir (Object o) | Belirtilen öğenin listede olup olmadığını kontrol eder ve varsa doğru döndürür |
boyut | int size () | Listenin boyutunu, yani Listedeki öğelerin sayısını veya listenin uzunluğunu döndürür. |
açık | void temizle () | Listedeki tüm öğeleri kaldırarak listeyi temizler |
Ekle | void add (int dizin, Nesne öğesi) | Verilen öğeyi verilen dizindeki listeye ekler |
boolean ekleme (Nesne o) | Verilen öğeyi listenin sonuna ekler | |
hepsini ekle | boole addAll (Koleksiyon c) | Verilen koleksiyonun tamamını listenin sonuna ekler |
boole addAll (int dizin, Koleksiyon c) | Verilen koleksiyonu (tüm öğeler) belirtilen dizindeki listeye ekler | |
containsAll | boolean containsAll (Koleksiyon c) | Belirtilen koleksiyonun (tüm öğeler) listenin parçası olup olmadığını kontrol eder. Evet doğru olarak döndürülür. |
eşittir | boolean eşittir (Object o) | Eşitlik için belirtilen nesneyi listenin öğeleriyle karşılaştırır |
Almak | Object get (int indeksi) | Dizine göre belirtilen listedeki öğeyi döndürür |
hash kodu | int hashCode () | Listenin karma kodu değerini döndürür. |
indexOf` | int indexOf (Nesne o) | Giriş öğesinin ilk oluşumunu bulur ve dizinini döndürür |
boş | boole isEmpty () | Listenin boş olup olmadığını kontrol eder |
lastIndexOf | int lastIndexOf (Nesne o) | Listedeki giriş öğesinin son oluşumunu bulur ve dizinini döndürür |
Kaldır | Nesne kaldırma (int indeksi) | Belirtilen dizindeki öğeyi kaldırır |
boole kaldır (Object o) | Listedeki ilk geçtiği yerde öğeyi kaldırır | |
hepsini kaldır | boolean removeAll (Koleksiyon c) | Belirtilen koleksiyonda bulunan tüm öğeleri listeden kaldırır |
KeepAll | boolean tutmaTümü (Koleksiyon c) | RemoveAll'ın tam tersi. Listedeki giriş koleksiyonunda belirtilen öğeyi tutar. |
Ayarlamak | Nesne kümesi (int indeksi, Nesne öğesi) | Belirtilen dizindeki öğeyi belirtilen değere ayarlayarak değiştirir |
alt liste | List subList (int fromIndex, int toIndex) | FromIndex (dahil) ve toIndex (hariç) arasındaki öğelerin alt listesini döndürür. |
çeşit | geçersiz sıralama (Karşılaştırıcı c) | Sıralı bir liste vermek için liste öğesini belirtilen karşılaştırıcıya göre sıralar |
sıralamak | Nesne () toArray () | Listenin dizi gösterimini verir |
Object () toArray (Object () a) | Çalışma zamanı türü, belirtilen dizi bağımsız değişkeni ile aynı olan dizi temsilini döndürür | |
yineleyici | Yineleyici yineleyici () | Liste için bir Yineleyici verir |
listIterator | ListIterator listIterator () | Liste için bir ListIterator döndürür |
ListIterator listIterator (int dizin) | Listede belirtilen dizinden başlayan bir ListIterator döndürür |
Daha sonra, bu fonksiyonları örnekleriyle birlikte tartışacağız.
boyut
Prototip: int size ()
Parametreler: NIL
Geri dönüş değeri: int => Listedeki öğelerin sayısı veya başka bir deyişle listenin uzunluğu.
Açıklama: Size (), öğe sayısını veya listenin boyutunu döndürür. Basit terimlerle uzunluk da denilebilir.
pl sql mülakat soruları ve cevapları pdf
açık
Prototip: void temizle ()
Parametreler: NIL
Geri dönüş değeri: Dönüş değeri yok
Açıklama: Listenin tüm öğelerini kaldırarak listeyi temizler. İşlem liste tarafından desteklenmiyorsa 'UnSupportedException' atar.
Aşağıdaki örnek size () ve clear () yöntemini gösterecektir.
import java.util.*; public class Main { public static void main(String() args) { List strList = new ArrayList(); // Creating a list //add items to list strList.add('Java'); strList.add('C++'); //print the size of list System.out.println('Size of list:' + strList.size()); //add more items to list strList.add('Ruby'); strList.add('Python'); strList.add('C#'); //print the size of list again System.out.println('Size of list after adding more elements:' + strList.size()); //clear method strList.clear(); System.out.println('List after calling clear() method:' + strList); } }
Çıktı:
Ekle
Prototip: void add (int dizin, Nesne öğesi)
Parametreler: dizin - öğenin ekleneceği konum.
Öğe - eklenecek öğe
Geri dönüş değeri: geçersiz
Açıklama: Verilen öğeyi verilen dizindeki listeye ekler. Sonraki öğeler sağa kaydırılır.
Aşağıdaki istisnalar atılır:
IndexOutOfBoundsException: Liste dizini aralık dışında
UnsupportedOperationException: Ekleme işlemi Liste tarafından desteklenmiyor.
ClassCastException: Eleman, belirtilen elemanların sınıfı nedeniyle listeye eklenemiyor.
IllegalArgumentException: Belirtilen öğe veya bazı yönler doğru değil.
Ekle
Prototip: boolean ekleme (Nesne o)
Parametreler: o => Listeye eklenecek öğe
Geri dönüş değeri: true => Öğe başarıyla eklendi
Yanlış => Ekleme başarılı değil
Açıklama: Bu yöntem, verilen öğeyi listenin sonuna ekler.
Bu işlem aşağıdaki istisnaları ortaya çıkarabilir.
UnsupportedOperationException: Bu Liste tarafından desteklenmeyen ekleme işlemi.
ClassCastException: Belirtilen öğe, sınıfı nedeniyle eklenemiyor
IllegalArgumentException: Belirtilen öğe veya bazı yönler doğru değil.
hepsini ekle
Prototip: boole addAll (Koleksiyon c)
Parametreler: c => Elemanları listeye eklenecek koleksiyon
Geri dönüş değeri: true => Yöntem yürütme başarılı
Açıklama: AddAll yöntemi, c koleksiyonundaki tüm öğeleri alır ve ayarlanan sırayı koruyarak bunları listenin sonuna ekler.
İşlem devam ederken koleksiyon değiştirilirse, bu yöntem belirtilmemiş davranış sergiler.
Yöntem aşağıdaki istisnaları atar:
UnsupportedOperationException: Bu Liste tarafından desteklenmeyen ekleme işlemi.
ClassCastException: Belirtilen öğe, sınıfı nedeniyle eklenemiyor.
IllegalArgumentException: Belirtilen öğe veya bazı yönler doğru değil.
hepsini ekle
Prototip: boole addAll (int dizin, Koleksiyon c)
Parametreler: index => Koleksiyonun ekleneceği konum.
C => Listeye eklenecek koleksiyon.
Geri dönüş değeri: true => Koleksiyon öğeleri listeye başarıyla eklenirse.
Açıklama: AddAll yöntemi, belirtilen koleksiyondaki tüm öğeleri belirtilen dizindeki listeye ekler. Sonraki öğeler daha sonra sağa kaydırılır. Önceki addAll aşırı yüklemesinde olduğu gibi, işlem devam ederken koleksiyon değiştirilirse davranış belirtilmez.
Bu yöntemle ortaya çıkan istisnalar şunlardır:
UnsupportedOperationException: Bu Liste tarafından desteklenmeyen ekleme işlemi.
ClassCastException: Belirtilen öğe, sınıfı nedeniyle eklenemiyor.
IllegalArgumentException: Belirtilen öğe veya bazı yönler doğru değil.
IndexOutOfBoundsException: Aralık dışı dizini.
Aşağıdaki program listenin add ve addAll yöntemlerinin gösterimini göstermektedir.
import java.util.*; public class Main { public static void main(String() args) { List strList = new ArrayList(); // Creating a list strList.add('Java'); strList.add('C++'); //print the list System.out.println('List after adding two elements:' + strList); List llist = new ArrayList(); // Create another list llist.add('Ruby'); llist.add('Python'); llist.add('C#'); // addAll method - add llist to strList strList.addAll(llist); System.out.println('List after addAll:'+ strList); } }
Çıktı:
içerir
Prototip: boolean içerir (Object o)
Parametreler: o => Listede aranacak öğe.
Geri dönüş değeri: true => Liste belirtilen öğeyi içeriyorsa.
Açıklama: 'İçerir' yöntemi, belirtilen öğenin listede olup olmadığını kontrol eder ve öğe varsa bir Boolean değeri true döndürür. Aksi takdirde, yanlış döndürür.
containsAll
Prototip: boolean containsAll (Koleksiyon c)
Parametreler: c => Listede aranacak koleksiyon.
Geri dönüş değeri: true => Belirtilen koleksiyondaki tüm öğeler listede mevcutsa.
Açıklama: 'ContainsAll' yöntemi, belirtilen koleksiyonda bulunan tüm öğelerin listede olup olmadığını kontrol eder. Varsa, gerçek bir değer döndürür ve aksi takdirde false.
Aşağıdaki Java programı, listenin 'içerir' ve 'containsAll' yöntemlerinin kullanımını gösterir.
import java.util.*; public class Main { public static void main(String() args) { //define list of strings List list = new ArrayList(); //initialize list to strings list.add('Java'); list.add('Xml'); list.add('Python'); list.add('Ruby'); list.add('JavaScript'); //contains method demo if(list.contains('C')==true) System.out.println('Given list contains string 'C''); else if(list.contains('Java')==true) System.out.println('Given list contains string 'Java' but not string 'C''); //containsAll method demo List myList = new ArrayList(); myList.add('Ruby'); myList.add('Python'); if(list.containsAll(myList)==true) System.out.println('List contains strings 'Ruby' and 'Python''); } }
Çıktı:
Verilen liste 'Java' dizesini içeriyor ancak 'C' dizesini içermiyor
Liste 'Ruby' ve 'Python' dizelerini içerir
eşittir
Prototip: boolean eşittir (Object o)
Parametreler: o => Eşitlik için test edilecek nesne.
Geri dönüş değeri: true => Verilen nesne listeye eşitse.
Açıklama: Bu yöntem, verilen nesneyi eşitlik listesiyle karşılaştırmak için kullanılır. Belirtilen nesne bir listeyse, yöntem true değerini döndürür. Her iki listenin de, ancak ve ancak aynı boyutta olmaları ve iki listedeki karşılık gelen öğeler eşit ve aynı sıradaysa eşit olduğu söylenir.
Eşittir yönteminin bir gösterimi aşağıda verilmiştir:
import java.util.LinkedList; import java.util.List; public class Main { public static void main(String() args) { //define lists List first_list= new LinkedList(); List second_list = new LinkedList(); List third_list = new LinkedList(); //initialize lists with values for (int i=0;i<11;i++){ first_list.add(i); second_list.add(i); third_list.add(i*i); } //print each list System.out.println('First list: ' + first_list); System.out.println('Second list: ' + second_list); System.out.println('Third list: ' + third_list); //use equals method to check equality with each list to other if (first_list.equals(second_list) == true) System.out.println('
first_list and second_list are equal.
'); else System.out.println('first_list and second_list are not equal.
'); if(first_list.equals(third_list)) System.out.println('first_list and third_list are equal.
'); else System.out.println('first_list and third_list are not equal.
'); if(second_list.equals(third_list)) System.out.println('second_list and third_list are equal.
'); else System.out.println('second_list and third_list are not equal.
'); } }
Çıktı:
Almak
Prototip: Object get (int indeksi)
Parametreler: index => Öğenin döndürüleceği konum.
Geri dönüş değeri: nesne => Belirtilen konumdaki öğe.
Açıklama: Get () yöntemi, verilen konumdaki öğeyi döndürür.
Bu yöntem, belirtilen dizin listenin aralığının dışındaysa 'indexOutOfBoundsException' oluşturur.
Ayarlamak
Prototip: Nesne kümesi (int indeksi, Nesne öğesi)
Parametreler: index => Yeni elemanın ayarlanacağı konum.
eleman => Dizine göre verilen konuma yerleştirilecek yeni eleman.
Geri dönüş değeri: Nesne => Değiştirilen öğe
Açıklama: Yöntem set (), belirtilen dizindeki öğeyi, öğesi tarafından verilen başka bir değerle değiştirir.
Yöntem aşağıdaki istisnaları atabilir:
UnsupportedOperationException: Ayar işlemi Liste tarafından desteklenmiyor.
ClassCastException: Elemanın sınıfı nedeniyle işlem gerçekleştirilemiyor
IllegalArgumentException: Argüman veya bazı yönleri yasa dışı
IndexOutOfBoundsException: Aralık dışı dizini.
Aşağıdaki program get () ve set () yönteminin bir örneğini göstermektedir.
import java.util.*; public class Main { public static void main(String() args) { //define list List listA = new ArrayList(); listA.add('Java'); listA.add('C++'); listA.add('Python'); //access list elements using index with get () method System.out.println('Element at index 0:' + listA.get(0)); System.out.println('Element at index 1:' + listA.get(1)); System.out.println('Element at index 2:' + listA.get(2)); //set element at index 1 to Ruby listA.set(1,'Ruby'); System.out.println('Element at index 1 changed to :' + listA.get(1) ); } }
Çıktı:
hash kodu
Prototip: int hashCode ()
Parametreler: NIL
Geri dönüş değeri: int => listenin hashCode'u
Açıklama: 'HashCode ()' yöntemi, bir tamsayı değeri olan listenin hashCode'unu döndürür.
Misal:
import java.util.*; public class Main { public static void main(String() args) { // Initializing a list of type Linkedlist List mylist = new LinkedList(); mylist.add(1); mylist.add(3); mylist.add(5); mylist.add(7); //print the list System.out.println('The list:' + mylist); //use hashCode() method to find hashcode of list int hash = mylist.hashCode(); System.out.println('Hashcode for list:' + hash); } }
Çıktı:
boş
Prototip: boole isEmpty ()
Parametreler: NIL
Geri dönüş değeri: true => Liste boş
Açıklama: 'İsEmpty ()' yöntemi, listenin boş olup olmadığını kontrol eder. IsEmpty yöntemi, bu öğeleri işlemeye başlamadan önce listede herhangi bir öğe olup olmadığını kontrol etmek için kullanılır.
indeksi
Prototip: int indexOf (Nesne o)
Parametreler: o => listede aranacak öğe
Geri dönüş değeri: int => verilen öğenin listedeki ilk oluşumunun dizini veya konumu. Öğe yoksa -1 döndürür.
Açıklama: 'İndexOf ()' yöntemi, listede verilen o öğesinin ilk oluşumunun dizinini döndürür. Öğe bulunmazsa -1 döndürür.
lastIndexOf
Prototip: int lastIndexOf (Nesne o)
Parametreler: o => Dizini aranacak nesne
Geri dönüş değeri: int => Listedeki verilen elemanın son oluşumunun indeksi, aksi takdirde -1.
Açıklama: 'LastIndexOf ()' yöntemi, listedeki o öğesinin son oluşumunun dizinini döndürür. Öğe bulunmazsa, yöntem -1 döndürür.
Aşağıdaki Java programı, listenin indexOf ve lastIndexOf yöntemlerinin kullanımını göstermektedir.
import java.util.*; public class Main { public static void main(String() args) { // define an integer array List intList = new ArrayList(5); //add elements to the list intList.add(10); intList.add(20); intList.add(30); intList.add(10); intList.add(20); //print the list System.out.println('The list of integers:' + intList); // Use indexOf() and lastIndexOf() methods of list to find first and last index System.out.println('first index of 20:' + intList.indexOf(20)); System.out.println('last index of 10:' + intList.lastIndexOf(10)); } }
Çıktı:
Kaldır
Prototip: Nesne kaldırma (int indeksi)
Parametreler: dizin => Öğenin kaldırılacağı listedeki dizin veya konum
Geri dönüş değeri: Nesne => Eleman kaldırıldı
Açıklama: 'Remove ()' yöntemi, verilen konumdaki öğeyi listeden kaldırır. Silme işleminden sonra, silinen öğenin yanındaki öğeler sola kaydırılır.
Bu yöntem aşağıdaki istisnaları atabilir:
UnsupportedOperationException: Kaldır, Liste tarafından desteklenmemektedir.
IndexOutOfBoundsException: Belirtilen dizin aralık dışında
Kaldır
Prototip: boole kaldır (Object o)
Parametreler: o => Listeden kaldırılacak öğe
Geri dönüş değeri: true => Öğe başarıyla kaldırıldı.
Açıklama: Remove () yönteminin bu aşırı yüklenmiş sürümü, belirli bir o öğesinin ilk oluşumunu listeden kaldırır. Verilen öğe listede yoksa, değişmeden kalır.
Bu yöntem aşağıdaki istisnayı ortaya çıkarabilir:
UnsupportedOperationException: Kaldır, Liste tarafından desteklenmemektedir.
hepsini kaldır
Prototip: boolean removeAll (Koleksiyon c)
Parametreler: c => Listeden kaldırılan öğeleri içeren bir koleksiyon.
Geri dönüş değeri: true => Yöntem çağrısı başarılıysa ve c koleksiyonunda belirtilen tüm öğeler listeden kaldırılırsa.
Açıklama: 'RemoveAll ()' yöntemi, bağımsız değişken olarak iletilen c koleksiyonunda belirtilen listeden tüm öğeleri kaldırmak için kullanılır.
Bu yöntem aşağıdaki istisnayı atabilir:
UnsupportedOperationException: removeAll, Liste tarafından desteklenmemektedir.
Remove ve removeAll yöntemlerinin bir örneğini görelim.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List oddList = new ArrayList(); //add elements to the list oddList.add(1); oddList.add(3); oddList.add(5); oddList.add(7); oddList.add(9); oddList.add(11); //print the original list System.out.println('Original List:' + oddList); // Removes element from index 1 oddList.remove(1); System.out.println('Oddlist after removing element at index 1:' + oddList); //removeAll method List c1 = new ArrayList(); c1.add(1); c1.add(5); c1.add(11); oddList.removeAll(c1); System.out.println('Oddlist after removing elements {1,5,11}}:' + oddList); } }
Çıktı:
KeepAll
Prototip: boolean tutmaTümü (Koleksiyon c)
Parametreler: c => Listede tutulması gereken öğeleri içeren koleksiyon.
Geri dönüş değeri: true => Yöntem çağrısı listeyi değiştirdiyse.
Açıklama: Bu yöntem, koleksiyonda bulunanlar dışındaki tüm öğeleri listeden kaldırır c. Başka bir deyişle, bu yöntem listedeki c koleksiyonunda bulunan tüm öğeleri tutar ve diğer öğeleri kaldırır.
Bu yöntem aşağıdaki istisnayı ortaya çıkarabilir:
UnsupportedOperationException: keepAll, Liste tarafından desteklenmemektedir.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List oddList = new ArrayList(); //add elements to the list oddList.add(1); oddList.add(3); oddList.add(5); oddList.add(7); oddList.add(9); oddList.add(11); //print the original list System.out.println('Original List:' + oddList); //retainAll method List c1 = new ArrayList(); c1.add(1); c1.add(5); c1.add(11); oddList.retainAll(c1); System.out.println('Oddlist after call to retainAll (1,5,11):' + oddList); } }
Çıktı:
alt liste
Prototip: List subList (int fromIndex, int toIndex)
Parametreler: fromIndex => Listenin alt dizini (dahil)
toIndex => Listenin daha yüksek dizini (hariç)
Geri dönüş değeri: Liste => Verilen listenin bir alt listesi
Açıklama: Sublist () yöntemi, 'fromIndex' ten 'toIndex' e kadar alt liste olarak da bilinen listenin kısmi görünümünü döndürür. Döndürülen alt liste, üst listenin yalnızca bir görünümüdür ve bu nedenle, her iki listede de yapılan değişiklikler her yeri yansıtır.
Benzer şekilde, listenin tüm işlemleri de bir alt liste üzerinde çalışır.
Yöntem aşağıdaki istisnayı atabilir:
IndexOutOfBoundsException: Geçersiz toIndex değeri.
Alt liste yöntemi için örnek bir program aşağıda verilmiştir.
import java.util.*; public class Main { public static void main(String() args) { // define a string list List strList = new ArrayList(5); //add elements to the list strList.add('Java'); strList.add('Tutorials'); strList.add('Collection'); strList.add('Framework'); strList.add('Series'); //print the original list System.out.println('The original list=>strList: ' + strList); //define another list List subList = new ArrayList(); // take a sublist of elements from 2 to 4 from strList subList = strList.subList(2, 4); //print the sublist System.out.println('The sublist of strList:' + subList); } }
Çıktı:
sıralama listesi
Prototip: geçersiz sıralama (Karşılaştırıcı c)
Parametreler: c => Karşılaştırıcı, listenin sıralanması temelinde.
Geri dönüş değeri: NIL
Açıklama: Listeyi sıralamak için 'sort ()' yöntemi kullanılır. Yöntem, listeyi sıralamak için belirtilen karşılaştırıcıyı kullanır.
Sıralama yönteminin bir örneğini görelim . Öğeleri doğal bir sırayla sıralayan Collections.sort yöntemi ile karşılaştırdık. Programın çıktısı sıralı bir listedir.
import java.util.Collections; import java.util.ArrayList; import java.util.List; import java.util.Random; public class Main { public static void main(String() args) { //define list List intArray = new ArrayList(); Random random = new Random(); //populate the list with random numbers <20 for (int i = 0; i {return (o2-o1);}); //comparator to sort in reverse System.out.println('Reverse List sorted using comparator:
'+intArray); } }
Çıktı:
sıralamak
Prototip: Nesne () toArray ()
Parametreler: NIL
Geri dönüş değeri: Nesne () => Listenin dizi gösterimi
Açıklama: Method toArray (), listenin dizi temsilini uygun bir sırayla döndürür.
sıralamak
Prototip: Object () toArray (Object () a)
Parametreler: a => Listeyi bir diziye dönüştürürken liste öğesi türleriyle eşleştirilecek dizi türü.
Geri dönüş değeri: Nesne () => Listenin dizi gösterimi.
Açıklama: ToArray () yönteminin bu aşırı yüklemesi, a dizisiyle aynı çalışma zamanı türüne sahip listedeki öğeleri içeren diziyi döndürür.
Bu yöntem aşağıdaki istisnayı ortaya çıkarabilir:
ArrayStoreException: Listedeki her öğenin çalışma zamanı türü, bu Listedeki her öğenin çalışma zamanı türünün bir alt türü değildir.
Aşağıda, toArray yönteminin uygulanmasına bir örnek verilmiştir.
import java.util.*; public class Main { public static void main(String() args) { // create list ArrayList colorsList = new ArrayList(7); // add colors to colorsList colorsList.add('Violet'); colorsList.add('Indigo'); colorsList.add('Blue'); colorsList.add('Green'); colorsList.add('Yellow'); colorsList.add('Orange'); colorsList.add('Red'); System.out.println('Size of the colorsList: ' + colorsList.size()); // Print the colors in the list System.out.println('Contents of colorsList:'); for (String value : colorsList){ System.out.print(value + ' '); } // Create an array from the list using toArray method String colorsArray() = new String(colorsList.size()); colorsArray = colorsList.toArray(colorsArray); // Display the contents of the array System.out.println('
Printing elements of colorsArray:' + Arrays.toString(colorsArray)); } }
Çıktı:
Yineleyici
Prototip: Yineleyici yineleyici ()
Parametreler: NIL
Geri dönüş değeri: Yineleyici => Listenin öğeleri üzerinde yineleme yapmak için yineleyici
Açıklama: Bu yöntem, listedeki öğeler üzerinde yinelenen yineleyiciyi döndürür.
Yineleyici kullanarak gösterilecek Java Programı.
import java.util.*; public class Main { public static void main(String() args) { // create list ArrayList colorsList = new ArrayList(7); // add colors to colorsList colorsList.add('Violet'); colorsList.add('Indigo'); colorsList.add('Blue'); colorsList.add('Green'); colorsList.add('Yellow'); colorsList.add('Orange'); colorsList.add('Red'); System.out.println('ColorList using iterator:'); //define iterator for colorsList Iterator iterator = colorsList.iterator(); //iterate through colorsList using iterator and print each item while(iterator.hasNext()){ System.out.print(iterator.next() + ' '); } } }
Çıktı:
listIterator
Prototip: ListIterator listIterator ()
Parametreler: NIL
Geri dönüş değeri: ListIterator => Listedeki elemanların listitatörü.
Açıklama: Yöntem listIterator (), listedeki öğelerin ListIterator nesnesini döndürür. Bu yineleyici listenin başından, yani indeks 0'dan başlar.
listIterator
Prototip: ListIterator listIterator (int dizin)
Parametreler: index => listIterator'ın başladığı konum.
Geri dönüş değeri: ListIterator => Listede belirtilen dizindeki ListIterator nesnesi.
Açıklama: ListIterator () yönteminin aşırı yüklenmesi, listede verilen konumda başlayan bir listIterator döndürür. Verilen dizin, ListIterator'ın nextElement () yöntemine yapılan ilk çağrı tarafından döndürülecek ilk öğe olacağını belirtir.
Yöntem, dizinin geçersiz değeri için IndexOutOfBoundsException oluşturabilir.
Aşağıdaki örnek listIterator kullanımını gösterir.
import java.util.*; public class Main { public static void main(String() args) { //define list & add items to list List nameList = new LinkedList(); nameList.add('Java'); nameList.add('C++'); nameList.add('Python'); // get listIterator for the list ListIterator namesIterator = nameList.listIterator(); // Traverse list using listiterator and print each item System.out.println('Contents of list using listIterator:'); while(namesIterator.hasNext()){ System.out.print(namesIterator.next() + ' '); } } }
Çıktı:
ListIterator'ı daha sonra ayrıntılı olarak tartışacağız.
Şimdi, listeler üzerinde yapılabilen ancak liste arayüzünde sağlanmayan bazı çeşitli işlemleri tartışalım.
Java'da Listeyi Kopyala
Bir listenin öğelerini başka bir listeye kopyalamak için, Koleksiyonlar çerçevesi tarafından sağlanan copy () yöntemini kullanmanız gerekir.
Collections.copy () yöntemi, ikinci bağımsız değişken olarak sağlanan listenin tüm öğelerini ilk bağımsız değişken olarak sağlanan listeye kopyalar. Başka bir listenin içeriğinin kopyalanmakta olduğu listenin, kopyalanan öğeleri barındıracak kadar büyük olması gerektiğini unutmayın.
Liste yeterince büyük değilse, kopyalama yöntemi 'indexOutOfBoundsEexception' oluşturur.
Aşağıdaki program bir listenin içeriğini diğerine kopyalar.
import java.util.*; public class Main { public static void main(String() args) { //create first ArrayList object List aList_1 = new ArrayList(); //Add elements to first ArrayList aList_1.add('R'); aList_1.add('G'); aList_1.add('B'); //print the List System.out.println('The first list:' + aList_1); //create second ArrayList object List aList_2 = new ArrayList(); //Add elements to second Arraylist aList_2.add('Red'); aList_2.add('Green'); aList_2.add('Blue'); aList_2.add('Yellow'); aList_2.add('Brown'); System.out.println('The second list: ' + aList_2); //use Collections.copy() method to copy elements of first list to second list. Collections.copy(aList_2,aList_1); //print the resultant second Arraylist System.out.println('
The second list after copying first list to second list: ' + aList_2); } }
Çıktı:
Java'da Bir Listeden Yinelenenleri Kaldır
Verilen bir liste, tekrar eden unsurlara veya kopyalara sahip olabilir veya olmayabilir. Üzerinde çalıştığınız listede yinelenen öğeler varsa ve listedeki tüm farklı öğeleri istiyorsanız, yinelenenleri Java'da desteklenen listeden kaldırmanın iki yöntemi vardır.
Java 8 akışını kullanma
Yinelenenleri listeden kaldırmanın ilk yöntemi, Java 8 akışı tarafından sağlanan farklı () yöntemini kullanmaktır. Burada, kopyaları içeren liste stream () .distinct yöntemini çağırır ve ardından dönüş değeri, yalnızca farklı öğelere sahip olacak yeni bir listeye dönüştürülür.
Aşağıdaki program, farklı () yönteminin kullanımını göstermektedir.
import java.util.*; import java.util.stream.Collectors; class Main { public static void main(String() args) { // original list List intlist = new ArrayList( Arrays.asList(1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5,6,5,3,4)); // Print the list System.out.println('Original ArrayList: ' + intlist); // using distinct() method of Java 8 stream remove duplicates from original List //and generate a new list without duplicates List distinct_list = intlist.stream().distinct() .collect(Collectors.toList()); // Print the new list System.out.println('ArrayList after removing duplicates: ' + distinct_list); } }
Çıktı:
sabun ve dinlenme üzerine mülakat soruları
Yineleyici yaklaşımını kullanma
Yineleyici kullanarak yinelenenleri listeden kaldırmak uzun ve ilkel bir yaklaşımdır. Bu yaklaşımda, listeden geçmeniz ve her elemanın ilk geçtiği yeri yeni bir listeye koymanız gerekir. Sonraki her öğe, kopya olup olmadığı kontrol edilir.
Aşağıdaki program bunu başarıyor.
import java.util.*; public class Main { public static void main(String args()) { // create original list ArrayList aList = new ArrayList( Arrays.asList(1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 5, 3, 4)); // Print the original list System.out.println('Original List: '+ aList); // Create a new list ArrayList new_List = new ArrayList(); // Traverse through the original list to remove duplicates for (Integer element : aList) { // check if element is present in new_List, else add it if (!new_List.contains(element)) { new_List.add(element); } } // Print the new list without duplicates System.out.println('List after removing duplicates: '+ new_List); } }
Çıktı:
Sıkça Sorulan Sorular
S # 1) Java'da listedeki get yöntemi nedir?
Cevap: Listenin get yöntemi, dizine dayalı olarak listedeki belirli bir öğeyi almak için kullanılır. Gerekli dizini get yöntemine iletirsiniz ve get yöntemi bu dizindeki öğe değerini döndürür.
S # 2) Java'da toArray yöntemi nedir?
Cevap: ToArray () yöntemi, listenin dizi temsilini elde etmek için kullanılır.
S # 3) Java'da bir listeyi nasıl sıralıyorsunuz?
Cevap: Java'da, listenin sıralama yöntemi kullanılarak bir liste sıralanabilir. Sıralama yöntemine parametre olarak iletilen karşılaştırıcı arabirimini kullanarak kendi sıralama ölçütlerinizi geçirebilirsiniz.
Koleksiyonları da kullanabilirsiniz. Listeyi sıralamak için sıralama yöntemi. Bu yöntem, listeyi doğal sıralamaya göre sıralar.
S # 4) Java'da Arrays.asList () nedir?
Cevap: Dizinin 'asList' yöntemi, bir dizi tarafından desteklenen öğelerin listesini döndürür.
Sonuç
Bu eğitimde, bir listenin sağladığı tüm yöntemleri öğrendik. Java listesi, arama, sıralama vb. Dahil olmak üzere listeleri işleyebileceğiniz ve işleyebileceğiniz çeşitli yöntemler sağlar. Burada her yöntemi uygun programlama örnekleriyle açıkladık.
Yaklaşan eğitimimizde ListIterator'ı ayrıntılı olarak tartışacağız.
=> Basit Java Eğitim Serisini Buradan Keşfedin.
Önerilen Kaynaklar
- Java Listesi - Java'da Liste Nasıl Oluşturulur, Başlatılır ve Kullanılır
- Java'da Dizi ve Diğer Koleksiyonlar İçin Gizli Liste
- Python Gelişmiş Liste Eğitimi (Liste Sırala, Ters Çevir, Dizin, Kopyala, Birleştir, Topla)
- Python Listesi - Öğeler Oluşturun, Erişin, Dilimleyin, Ekleyin veya Silin
- Yöntemler ve Yaşam Döngüsü İçeren Java Konuları
- Java'da Bir Diziden Bir Öğeyi Kaldırma / Silme
- Java Dize Eğitimi | Örneklerle Java Dize Yöntemleri
- Yaygın Kablosuz Yönlendirici Markaları İçin Varsayılan Yönlendirici IP Adresi Listesi