هنا أقوم بعمل Two Set
ثم أريد المقارنة بينهم .. فرضاً ال Set الاولى بها 1 2 3 4 5 6 و الثانية بها : 1 2 3 4 5 6 واضح أن الاثنين بهم نفس القيم بنفس الترتيب إذن فا هما متساويتين
لكن عندما أملأ الأولى هكذا : 1 2 3 4 5 6 و الثانية : 6 5 4 3 2 1 يقول لى انهم متساويتين !!! لماذا ؟؟؟ حيث أن من المعروف أن ال SortdSet تلتزم بترتيب العناصر .
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
public class TestList {
private SortedSet<Integer> set1 = new TreeSet<Integer>();
private SortedSet<Integer> set2 = new TreeSet<Integer>();
private Scanner scanner = new Scanner(System.in);
private final int range = 6;
private int input;
public TestList() {
_fillList1(set1);
_fillList2(set2);
_compareTwoList(set1, set2);
}
public static void main(String[] args) {
new TestList();
}
private void _fillList1(Set<Integer> list1) {
System.out.println("Fill List 1:");
for (int i = 0; i < range; i++) {
input = scanner.nextInt();
list1.add(input);
}
}
private void _fillList2(Set<Integer> list2) {
System.out.println("Fill List 2:");
for (int i = 0; i < range; i++) {
input = scanner.nextInt();
list2.add(input);
}
}
private void _compareTwoList(Set<Integer> list1, Set<Integer> list2) {
System.out.println("///////////////////////////");
if (list1.containsAll(list2)) {
System.out.println("The two lists are equal");
} else {
System.out.println("The two lists are not equal");
}
}
}