[英]checking Array List content equals with List contents
我有兩個對象,一個是列表(具有變量a = 10,b = array,c = object),另一個已設置(具有變量a = 10,b = array,c = object),我要檢查是否包含列表和集合是否相等? 請讓我知道如何檢查。 提前致謝 :)
首先,比較大小,然后迭代列表並檢查集合中是否存在。
boolean compare( List<?> list, Set<?> set ){
if( list.size() != set.size() ){
System.out.println( "different sizes" );
return false;
for( Object obj: list ){
if( ! set.contains( obj ) ){
System.out.println( obj + "not in set" );
return false;
}
}
return true;
}
數組是奇特的。 如果存在兩個數組對象(不是同一數組對象),它們分別在列表和集合中具有相同的元素,則返回false。 對於兩個不同的數組對象,即使它們包含相等的元素,equals永遠不會返回true。
Set
永遠不能等於List
。 他們是完全不同的東西。 但是Set
可以具有相同的大小,並包含與List
相同的所有元素:
set.size().equals(list.size()) && set.containsAll(list));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.