जावा में सूची इंटरफ़ेस दो सूचियों की तुलना करने और सूचियों से सामान्य और अनुपलब्ध वस्तुओं को खोजने में सक्षम होने के तरीके प्रदान करता है।
समानता के लिए दो क्रमबद्ध सूचियों की तुलना करें
यदि आप यह जांचना चाहते हैं कि दो सूचियाँ समान हैं, अर्थात समान आइटम हैं और एक ही अनुक्रमणिका में दिखाई देते हैं तो हम इसका उपयोग कर सकते हैं:
import java.util.Arrays;
import java.util.List;
public class CompareTwoLists {
public static void main(String[] args) {
List<String> listOne = Arrays.asList("a", "b", "c");
List<String> listTwo = Arrays.asList("a", "b", "c");
List<String> listThree = Arrays.asList("c", "a", "b");
boolean isEqual = listOne.equals(listTwo);
System.out.println(isEqual);
isEqual = listOne.equals(listThree);
System.out.println(isEqual);
}
}
आउटपुट:
true
false
जैसा कि आप देख सकते हैं equals()
विधि सूची में आइटम और उनके स्थान की तुलना करती है।
संबंधित:
- जावा में ArrayList के माध्यम से कैसे लूप करें
- किसी सूची से डुप्लिकेट कैसे निकालें
- जावा में सूची को सरणी में कैसे बदलें
दो क्रमबद्ध सूचियों की तुलना करें
क्या दो सूचियों में समान आइटम हैं?
वस्तुओं के संदर्भ में समानता के लिए दो सूचियों की तुलना करने के लिए, उनके स्थान की परवाह किए बिना, हमें sort()
का उपयोग करने की आवश्यकता है। Collections()
. से विधि कक्षा।
उदाहरण के लिए:
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class CompareTwoLists {
public static void main(String[] args) {
List<String> listOne = Arrays.asList("b", "c", "a");
List<String> listTwo = Arrays.asList("a", "c", "b");
List<String> listThree = Arrays.asList("c", "a", "b");
Collections.sort(listOne);
Collections.sort(listTwo);
Collections.sort(listThree);
boolean isEqual = listOne.equals(listTwo);
System.out.println(isEqual);
isEqual = listOne.equals(listThree);
System.out.println(isEqual);
}
}
आउटपुट:
true
true
दो सूचियों की तुलना करें, अंतर खोजें
List
इंटरफ़ेस दो सूचियों के बीच अंतर खोजने के तरीके भी प्रदान करता है।
removeAll()
विधि दो सूचियों की तुलना करती है और सभी सामान्य वस्तुओं को हटा देती है। जो कुछ बचा है वह अतिरिक्त या अनुपलब्ध आइटम है।
उदाहरण के लिए जब हम दो सूचियों की तुलना करते हैं, listOne
और listTwo
और हम यह पता लगाना चाहते हैं कि listTwo
. से कौन से आइटम गायब हैं हम उपयोग करते हैं:
import java.util.ArrayList;
import java.util.Arrays;
public class CompareTwoArrayLists {
public static void main(String[] args) {
ArrayList<Integer> listOne = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
ArrayList<Integer> listTwo = new ArrayList<>(Arrays.asList(1, 2, 4, 5, 6, 7));
listOne.removeAll(listTwo);
System.out.println("Missing items from listTwo " + listOne);
}
}
आउटपुट:
Missing items from listTwo [3]
इसी तरह, अगर हम इस्तेमाल करते हैं:
listTwo.removeAll(listOne);
System.out.println("Missing items from listOne " + listTwo);
हमें मिलेगा:
Missing items from listOne [6, 7]
दो सूचियों की तुलना करें, सामान्य आइटम ढूंढें
retainAll()
विधि केवल उन वस्तुओं को रखती है जो दोनों सूचियों में सामान्य हैं। उदाहरण के लिए:
public class CompareTwoArrayLists {
public static void main(String[] args) {
ArrayList<Integer> listOne = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
ArrayList<Integer> listTwo = new ArrayList<>(Arrays.asList(1, 2, 4, 5, 6, 7));
listOne.retainAll(listTwo);
System.out.println("Common items in both lists " + listOne);
}
}
आउटपुट:
Common items in both lists [1, 2, 4, 5]