Java'da iki ArrayList'i karşılaştırmanın aşağıdaki yolları vardır:
- Java eşittir() yöntem
- Java hepsini kaldır() yöntem
- Java keepAll() yöntem
- Java ArrayList.contains() yöntem
- Java içerikEşit() yöntem
- Java Aktarım arayüz
Java eşittir() yöntemi
Java eşittir() yöntemi Liste arayüz belirtilen nesneyi eşitlik listesiyle karşılaştırır. geçersiz kılar eşittir() yöntemi Nesne sınıf.
Sözdizimi
Java kontrolü boş
boolean equals(Object o)
Bu yöntem bir kabul eder nesne listeyle eşitlik açısından karşılaştırılacaktır. Geri dönüyor doğru belirtilen nesne listeye eşitse, aksi takdirde şunu döndürür: YANLIŞ .
Örnek
Aşağıdaki örnekte iki ArrayList oluşturduk ilk Liste Ve ikinciListe . Her iki listeyi kullanarak karşılaştırma eşittir() yöntem true değerini döndürür. Bir öğe daha ekledik ikinciListe FirstList ve SecondList arasında bir fark yaratmak için. Şimdi karşılaştırma yaparsak şunu döndürür: YANLIŞ .
import java.util.*; public class ComapreArraylistExample1 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(); //adds elements to the arraylist firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Mango'); System.out.println(firstList); //second array list List secondList=new ArrayList(); //adds elements to the arraylist secondList.add('Apple'); secondList.add('Pears'); secondList.add('Guava'); secondList.add('Mango'); System.out.println(secondList); //comparing both lists boolean boolval = firstList.equals(secondList); //returns true because lists are equal System.out.println(boolval); //adding another element in the second list secondList.add('Papaya'); //again comparing both lists boolean bool = firstList.equals(secondList); //returns false because lists are not equal System.out.println(bool); } }
Çıktı
[Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false
Java RemoveAll() yöntemi (eksik öğeyi bulma)
Java hepsini kaldır() yöntemi Dizi Listesi sınıf, belirtilen koleksiyonda bulunan tüm öğeleri listeden kaldırmak için kullanılır. geçersiz kılar hepsini kaldır() yöntemi SoyutKoleksiyon sınıf.
Sözdizimi
public boolean removeAll(Collection c)
Bu yöntem kabul edilir Toplamak bu listeden kaldırılacak öğeleri içeren bir parametre olarak. Geri dönüyor doğru arama sonucunda bu liste değiştiyse.
Örnek
Aşağıdaki örnekte iki ArrayList oluşturduk ilk Liste Ve ikinciListe . hepsini kaldır() yöntemi, FirstList'in tüm öğelerini kaldırır çünkü aynı öğeler aynı zamanda SecondList'te de mevcuttur. Papaya . Bu yüzden, Papaya eksik olan unsurdur ilk Liste . Dolayısıyla geri döner Papaya . Yöntem bir döndürür boş liste [] her iki listede de aynı öğeler varsa.
import java.util.*; public class ComapreArraylistExample2 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(); //adds elements to the array list firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Peach'); //second array list ArrayList secondList=new ArrayList(); //adds elements to the array list secondList.add('Apple'); secondList.add('Pears'); secondList.add('Papaya'); secondList.add('Peach'); //removes all elements from the first list //returns empty list if all the elements of first list match with elements of second list secondList.removeAll(firstList); //prints the element of second list which does not match with the element of the first list System.out.println(secondList); } }
Çıktı
[Papaya]
FirstList'ten mevcut olmayan öğeleri döndüren bir başka RemoveAll() yöntemi örneğine bakalım, SecondList.
Örnek
import java.util.*; public class ComapreArraylistExample3 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(Arrays.asList(12, 4, 67, 90, 34)); System.out.println('First array list: '); System.out.println(firstList); //second array list List secondList=new ArrayList(Arrays.asList(12, 4, 67, 0, 34)); System.out.println('Second array list: '); System.out.println(secondList); //returns the common elements in both list firstList.removeAll(secondList); System.out.println('Un-common element of the first list: '); System.out.println(firstList); } }
Çıktı
First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90]
Java keepAll() yöntemi (her iki listedeki ortak öğeleri döndürür)
Java keepAll() yöntemi Dizi Listesi sınıf yalnızca listenin diğer listede de bulunan öğelerini korur. geçersiz kılar keepAll() yöntemi Özet Koleksiyonu sınıf.
plsql
Sözdizimi
public boolean retainAll(Collection c)
Bu yöntem bir kabul eder Toplamak listede tutulacak öğeleri içeren bir parametre olarak. Geri dönüyor doğru arama sonucunda bu liste değiştiyse.
Örnek
Bu örnekte iki ArrayList oluşturduk ilk Liste Ve ikinciListe kullanarak asList() yöntemi Diziler sınıf. asList() yöntemi, belirtilen dizinin liste görünümünü döndürür.
import java.util.*; public class ComapreArraylistExample4 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(Arrays.asList('M', 'W', 'J', 'K', 'T')); System.out.println('First arraylist: '); System.out.println(firstList); //second arraylist List secondList=new ArrayList(Arrays.asList('M', 'W', 'E', 'K', 'T')); System.out.println('Second arraylist: '); System.out.println(secondList); //returns the common elements in both list secondList.retainAll(firstList); System.out.println('Common elements in both list: '); System.out.println(secondList); } }
Çıktı
First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T]
Java ArrayList.contains() yöntemi
Java ArrayList.contains() yöntemi, farklı ArrayList'in iki öğesini karşılaştırmak için kullanılır. Java ArrayList.contains() yöntem geçersiz kılar içerir() yöntemi ÖzetKoleksiyonu sınıf.
Sözdizimi
public boolean contains(Object o)
Bu yöntem, listedeki varlığı kontrol edilecek bir öğeyi ayrıştırır. Geri dönüyor doğru eğer eleman eşleşirse, aksi takdirde geri döner YANLIŞ .
Örnek
Bu örnekte iki ArrayList oluşturduk ilk Liste Ve ikinciListe ile ilgili Sicim tip. Bu ArrayList'i kullanarak karşılaştırdık. içerir() yöntem. FirstList'in elemanları SecondList'in elemanlarıyla eşleşirse, geri döner. Evet ve bu değeri içine saklar üçüncüListe . Benzer şekilde, eğer öğe eşleşmiyorsa geri döner. HAYIR .
import java.util.ArrayList; import java.util.Arrays; public class ComapreArraylistExample5 { public static void main(String [] args) { //first arraylist ArrayList firstList= new ArrayList(Arrays.asList('Good', 'Morning', 'Students')); //second arraylist ArrayList secondList= new ArrayList(Arrays.asList('Good', 'Night', 'frineds')); //storing the comparison output in thirdList ArrayList thirdList= new ArrayList(); //iterator using for-each loop for(String tempList : firstList) //tempList is a variable thirdList.add(secondList.contains(tempList) ? 'Yes' : 'No'); System.out.println(thirdList); } }
Çıktı
[Yes, No, No]
Java contentEquals() yöntemi
Java içerikEşit() yöntem karşılaştırır Sicim ile StringBuffer ve bir döndürür boolean değer. A ait Sicim sınıf.
Sözdizimi
public boolean contentEquals(StringBuffer sb)
Bu yöntem, StringBuffer'ı String ile karşılaştırmak için bir parametre olarak kabul eder. Geri dönüyor doğru String, belirtilen StringBuffer ile aynı karakter dizisini temsil ediyorsa, aksi halde şunu döndürür: YANLIŞ .
Örnek
Bu örnekte iki ArrayList oluşturduk ilk Liste Ve ikinciListe ile ilgili Sicim tip. Statik bir yöntem oluşturduk karşılaştırmaListesi() iki ArrayList'i ayrıştıran ls1 Ve ls2 bir argüman olarak ve bir değer döndürür boolean değer. Yöntem bir listeyi şuna dönüştürür: Sicim . içerikEşit() yöntem, String'i belirtilen StringBuffer ile karşılaştırır.
Her iki liste arasında fark yaratmak ve tekrar çağrılmak için SecondList'e başka bir öğe ekledik. karşılaştırmaListesi() döndüren yöntem YANLIŞ .
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ComapreArraylistExample6 { //defining method public static boolean compareList(ArrayList ls1, ArrayList ls2) { //converts List into String and checks string are equal or not return ls1.toString().contentEquals(ls2.toString())?true:false; } public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('When Lists are same: '+compareList(firstList, secondList)); //adding another element to the secondList secondList.add('C++'); //output after adding different element System.out.println('When Lists are not same: '+compareList(firstList, secondList)); } }
Çıktı
When Lists are same: true When Lists are not same: false
Java Akışı Arayüzü
Java Aktarım bir arayüzdür. Ait olduğu java.util paket. Bir sağlar filtre() akış elemanlarını verilen elemanlara göre filtreleme yöntemi. O bir orta seviye işlem.
Sözdizimi
Stream filter(Predicate predicate)
Bu yöntem kabul edilir yüklem (işlevsel arayüz) argüman olarak kullanılır ve sonuçta ortaya çıkan öğelerin yeni bir akışını döndürür.
nfa'yı dfa'ye dönüştür
toplama() yöntemi
Aşağıdaki örnekte kullanılan başka bir yöntem ise TOPLAMAK() yöntemi Aktarım arayüz.
Bir Kollektör kullanarak bu akışın elemanları üzerinde değiştirilebilir bir azaltma işlemi gerçekleştirir. Toplayıcı, toplanacak argümanlar olarak kullanılan işlevleri (Tedarikçi, BiConsumer, BiConsumer) kapsar. Şunlara izin verir: yeniden kullanma toplama stratejileri ve toplama operasyonlarının bileşimi. Bu bir terminal operasyon.
Sözdizimi
R collect(Collector collector)
Collectors.toList() yöntemi
Listeye() statik bir yöntemdir Koleksiyonerler sınıf. Ait olduğu java.util.Stream.Collectors sınıf.
Sözdizimi
public static Collector<t, ?, list> toList() </t,>
Nerede T element türüdür. Bir döndürür Kolektör tüm giriş öğelerini bir karşılaşma (sırasız) sırayla bir Listede toplayan.
Örnek
Aşağıdaki örnekte iki ArrayList oluşturduk ilk Liste Ve ikinciListe Dize türünden. filtre() yöntem, her iki Listede de bulunan ortak öğelerin bir Listesini döndürür.
import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('First List: '+firstList); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go', 'Perl')); System.out.println('Second List: '+secondList); // Finds common elements System.out.print('Common elements: ' +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } }
Çıktı
First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]