logo

Како упоредити две листе низова у Јави

Постоје следећи начини за упоређивање две АрраиЛист у Јави:

  • Јава једнако() методом
  • Јава уклони све() методом
  • Јава задржати све() методом
  • Јава АрраиЛист.цонтаинс() методом
  • Јава цонтентЕкуалс() методом
  • Јава Стреам интерфејс

Јава екуалс() метода

Јава једнако() метод Листа интерфејс пореди наведени објекат са листом ради једнакости. То надјачава једнако() метод Објекат класа.

Синтакса

разлика тигра и лава
 boolean equals(Object o) 

Овај метод прихвата ан објекат да се упореди за равноправност са листом. Враћа се истина ако је наведени објекат једнак листи, иначе се враћа лажно .

Пример

У следећем примеру, направили смо две листе АрраиЛиста фирстЛист и сецондЛист . Упоређивање обе листе коришћењем једнако() метода, враћа труе. Додали смо још један елемент у сецондЛист да направите разлику између прве и друге листе. Сада, ако извршимо поређење, оно се враћа лажно .

 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); } } 

Излаз

 [Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false 

Јава ремовеАлл() метода (проналажење елемента који недостаје)

Јава уклони све() метод Низ листа класа се користи за уклањање свих елемената са листе који се налазе у наведеној колекцији. То надјачава уклони све() метод АбстрацтЦоллецтион класа.

Синтакса

 public boolean removeAll(Collection c) 

Овај метод прихвата Цоллецтион као параметар који садржи елементе које треба уклонити са ове листе. Враћа се истина ако се ова листа променила као резултат позива.

Пример

У следећем примеру смо креирали две АрраиЛист фирстЛист и сецондЛист . Тхе уклони све() метода уклања све елементе прве листе јер су исти елементи присутни и у другој листи, осим Папаја . Тако, Папаја је елемент који недостаје у фирстЛист . Дакле, враћа се Папаја . Метод враћа ан празна листа [] ако обе листе имају исте елементе.

 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); } } 

Излаз

 [Papaya] 

Хајде да видимо још један пример методе ремовеАлл() која враћа елементе са прве листе који нису присутни је сецондЛист.

Пример

 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); } } 

Излаз

 First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90] 

Јава ретаинАлл() метода (враћа заједничке елементе у обе листе)

Јава задржати све() метод Низ листа класа задржава само елементе листе који су такође садржани у другој листи. То надјачава задржати све() метод АбстарцтЦоллецтион класа.

плскл

Синтакса

 public boolean retainAll(Collection c) 

Овај метод прихвата а Цоллецтион као параметар који садржи елементе које треба задржати у листи. Враћа се истина ако се ова листа променила као резултат позива.

Пример

У овом примеру смо креирали две АрраиЛист фирстЛист и сецондЛист коришћењем асЛист() методом Низови класа. Метода асЛист() враћа приказ листе наведеног низа.

 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); } } 

Излаз

 First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T] 

Јава АрраиЛист.цонтаинс() метод

Јава АрраиЛист.цонтаинс() метода се користи за поређење два елемента различите АрраиЛист. Јава АрраиЛист.цонтаинс() метода замењује садржи() метод АбстрарцтЦоллецтион класа.

Синтакса

 public boolean contains(Object o) 

Овај метод анализира елемент чије присуство на листи треба да се провери. Враћа се истина ако се елемент подудара, елсе се враћа лажно .

Пример

У овом примеру смо креирали две АрраиЛист фирстЛист и сецондЛист оф Низ тип. Упоредили смо ове АрраиЛист користећи садржи() методом. Ако се елементи прве листе поклапају са елементима друге листе, враћа се да и чува ову вредност у тхирдЛист . Слично, ако се елемент не подудара, враћа се Не .

 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); } } 

Излаз

 [Yes, No, No] 

Јава цонтентЕкуалс() метода

Јава цонтентЕкуалс() метод упоређује Низ са СтрингБуффер и враћа а боолеан вредност. То припада Низ класа.

Синтакса

 public boolean contentEquals(StringBuffer sb) 

Овај метод прихвата СтрингБуффер као параметар за поређење са Стрингом. Враћа се истина ако стринг представља исти низ знакова као наведени стрингБуффер, иначе се враћа лажно .

Пример

У овом примеру смо креирали две АрраиЛист фирстЛист и сецондЛист оф Низ тип. Направили смо статички метод цомпареЛист() који анализира две листе АрраиЛиста лс1 и лс2 као аргумент и враћа а боолеан вредност. Метода конвертује листу у Низ . Тхе цонтентЕкуалс() метод упоређује Стринг са наведеним СтрингБуффер-ом.

Додали смо још један елемент у другу листу да бисмо направили разлику између обе листе и поново позвали цомпареЛист() метод, који враћа лажно .

 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)); } } 

Излаз

 When Lists are same: true When Lists are not same: false 

Јава Стреам Интерфејс

Јава Стреам је интерфејс. То припада јава.утил пакет. Он пружа а филтер() метод за филтрирање елемената тока на основу датих елемената. То је средњи процес.

Синтакса

 Stream filter(Predicate predicate) 

Овај метод прихвата Предикат (функционални интерфејс) као аргумент и враћа нови ток резултујућих елемената.

скл цоунт различит

цоллецт() метод

Други метод који се користи у следећем примеру је прикупити() метод Стреам интерфејс.

Он врши променљиву операцију редукције на елементима овог тока користећи Цоллецтор. Цоллецтор инкапсулира функције које се користе као аргументи за прикупљање (Супплиер, БиЦонсумер, БиЦонсумер). Омогућава да се поновна употреба стратегије прикупљања и састава наплатних операција. То је терминал операција.

Синтакса

 R collect(Collector collector) 

Цоллецторс.тоЛист() метода

Тхе на листу() је статичка метода Колекционари класа. То припада јава.утил.Стреам.Цоллецторс класа.

Синтакса

 public static Collector<t, ?, list> toList() </t,>

Где Т је врста елемената. Враћа а Цоллецтор који прикупља све улазне елементе у Листу, у (неуређеном) редоследу сусрета.

Пример

У следећем примеру смо креирали две АрраиЛист фирстЛист и сецондЛист типа Стринг. Тхе филтер() метода враћа Листу заједничких елемената који су присутни у обе листе.

 import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;)); System.out.println(&apos;First List: &apos;+firstList); ArrayList secondList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;, &apos;Perl&apos;)); System.out.println(&apos;Second List: &apos;+secondList); // Finds common elements System.out.print(&apos;Common elements: &apos; +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } } 

Излаз

 First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]