首頁>Club>
7
回覆列表
  • 1 # 使用者9486914015367

     首先這裡需要確定一下集合相等的定義,我們應該是認為兩個集合的元素完全一致則相等。那麼判斷可以這樣做: 第一步:判斷兩個list集合的元素個數是否相等。如果不相等則兩個list集合也不相等,判斷結束,如果相等則進入第二步判斷 第二步:判斷list1的元素是否全部在list2中。遍歷list1,取出list1中的元素,依次去list2中比較是否list2也存在這個元素。如果有任何一個list1中的元素在list2中不存在,則兩個list集合不相等,如果全部存在則兩個list集合相等。   這裡需要說明一點,因為第一步中已經判斷list1和list2的元素個數是相等的,所以第二步中如果list1的元素全部在list2中,則可以證明list1與list2相等。不需要再遍歷list2中的元素,去list1中判斷是否存在。 以下是上訴過程的Java程式碼例子: public boolean equalList(List list1, List list2) { if (list1.size() != list2.size()) return false; for (Object object : list1) { if (!list2.contains(object)) return false; } return true; } 以上過程適用於所有程式語言。另外不同程式語言還提供了一些其他方法,所以對於不同程式語言還可以有其他寫法。 比如Java中為list集合提供了containsAll方法。所以對於Java語言還可以這麼寫: public boolean equalList(List list1, List list2) { if (list1.size() != list2.size()) return false; if (list2.containsAll(list1)) return true; return false; } 還可以簡寫成這樣 public boolean equalList(List list1, List list2) { return (list1.size() == list2.size()) && list1.containsAll(list2); }

  • 中秋節和大豐收的關聯?
  • oppor7手機充電的時候呼吸燈一直亮著是怎麼回事兒是因為手機充滿了所以一直亮?