Є такі способи порівняння двох ArrayList у Java:
- Java дорівнює() метод
- Java видалити все() метод
- Java retainAll() метод
- Java ArrayList.contains() метод
- Java contentEquals() метод
- Java Потік інтерфейс
Метод Java equals().
Java дорівнює() метод Список інтерфейс порівнює вказаний об'єкт зі списком на рівність. Це перекриває дорівнює() метод Об'єкт клас.
Синтаксис
javafx
boolean equals(Object o)
Цей метод приймає an об'єкт для порівняння на рівність зі списком. Воно повертається правда якщо вказаний об’єкт дорівнює списку, повертається else помилковий .
приклад
У наступному прикладі ми створили два ArrayList firstList і secondList . Порівняння обох списків за допомогою дорівнює() метод повертає true. Ми додали ще один елемент у secondList щоб створити різницю між firstList і secondList. Тепер, якщо ми виконуємо порівняння, воно повертається помилковий .
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
Метод Java removeAll() (пошук відсутнього елемента)
Java видалити все() метод ArrayList клас використовується для видалення всіх елементів зі списку, які містяться у вказаній колекції. Це перекриває видалити все() метод AbstractCollection клас.
Синтаксис
public boolean removeAll(Collection c)
Цей метод приймає Колекція як параметр, що містить елементи, які потрібно видалити з цього списку. Воно повертається правда якщо цей список змінився в результаті дзвінка.
приклад
У наступному прикладі ми створили два ArrayList firstList і secondList . The видалити все() метод видаляє всі елементи firstList, оскільки ті самі елементи також присутні у secondList, крім Папайя . Так, Папайя є відсутнім елементом у firstList . Отже, повертається Папайя . Метод повертає an порожній список [] якщо обидва списки містять однакові елементи.
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]
Давайте подивимося інший приклад методу removeAll(), який повертає елементи з firstList, яких немає, це secondList.
приклад
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]
Метод Java retainAll() (повертає спільні елементи в обох списках)
Java retainAll() метод ArrayList клас зберігає лише ті елементи списку, які також містяться в іншому списку. Це перекриває retainAll() метод AbstarctCollection клас.
що таке пасхальне яйце android
Синтаксис
public boolean retainAll(Collection c)
Цей метод приймає a Колекція як параметр, який містить елементи, які потрібно зберегти в списку. Воно повертається правда якщо цей список змінився в результаті дзвінка.
приклад
У цьому прикладі ми створили два ArrayList firstList і secondList за допомогою asList() метод Масиви клас. Метод asList() повертає список указаного масиву.
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]
Метод Java ArrayList.contains().
Java ArrayList.contains() метод використовується для порівняння двох елементів різних ArrayList. Java ArrayList.contains() метод замінює містить() метод AbstractCollection клас.
Синтаксис
public boolean contains(Object o)
Цей метод аналізує елемент, наявність якого в списку потрібно перевірити. Воно повертається правда якщо елемент збігається, повертається else помилковий .
приклад
У цьому прикладі ми створили два ArrayList firstList і secondList з Рядок типу. Ми порівняли ці ArrayList за допомогою містить() метод. Якщо елементи firstList збігаються з елементами secondList, повертається Так і зберігає це значення в третійСписок . Аналогічно, якщо елемент не збігається, він повертається Немає .
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]
Метод Java contentEquals().
Java contentEquals() метод порівнює Рядок з StringBuffer і повертає a логічний значення. Це належить Рядок клас.
Синтаксис
public boolean contentEquals(StringBuffer sb)
Цей метод приймає StringBuffer як параметр для порівняння з String. Воно повертається правда якщо рядок представляє ту саму послідовність символів, що й указаний StringBuffer, повертається else помилковий .
приклад
У цьому прикладі ми створили два ArrayList firstList і secondList з Рядок типу. Ми створили статичний метод compareList() який аналізує два ArrayList ls1 і ls2 як аргумент і повертає a логічний значення. Метод перетворює список на Рядок . The contentEquals() метод порівнює рядок із вказаним StringBuffer.
Ми додали ще один елемент у secondList, щоб створити різницю між обома списками та знову викликати compareList() метод, який повертає помилковий .
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
Потоковий інтерфейс Java
Java Потік це інтерфейс. Це належить java.util пакет. Він забезпечує a фільтр() метод фільтрації елементів потоку на основі заданих елементів. Це ан проміжний процес.
Синтаксис
Stream filter(Predicate predicate)
Цей метод приймає Присудок (функціональний інтерфейс) як аргумент і повертає новий потік результуючих елементів.
лямбда-функція java
метод collect().
У наступному прикладі використовується інший метод збирати() метод Потік інтерфейс.
Він виконує змінну операцію зменшення над елементами цього потоку за допомогою Collector. Collector інкапсулює функції, які використовуються як аргументи для collect(Supplier, BiConsumer, BiConsumer). Це дозволяє повторне використання стратегій інкасації та складу інкасових операцій. Це термінал операція.
Синтаксис
R collect(Collector collector)
Метод Collectors.toList().
The toList() є статичним методом Колекціонери клас. Це належить java.util.Stream.Collectors клас.
Синтаксис
public static Collector<t, ?, list> toList() </t,>
Де Т це тип елементів. Він повертає a Колектор який збирає всі вхідні елементи в список у порядку зустрічі (не впорядкованому).
приклад
У наступному прикладі ми створили два ArrayList firstList і secondList типу String. The фільтр() метод повертає список загальних елементів, які присутні в обох списках.
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())); } }
Вихід
First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]