我想執行一個程序,比較兩個鏈接列表中的元素。我可以做到這一點是通過執行兩個for循環並迭代兩個列表,使用.equals()將list1中的每個元素與list2進行比較。 另一種方法是,只是迭代第一個列表並檢查list1.contains(list1.get(i)) .. java文檔說,.contains在內部執行.equals。 如果是這樣的話,與前者相比,前者的運行時間是多長? 我誤解了文檔嗎?如果我這樣做了,當我使用內部比較時,究竟是如何包含?Java:.contains和.equals
using equals:
for (int i = 0; i < list_one.size(); i++) {
for (int j = 0; j < list_one.size(); j++) {
if (list_one.get(i).equals(list_two.get(j))) { count++; }
using contains:
for (int i = 0; i < list_one.size(); i++) {
if (list_two.contains(list_one.get(i)) == true) { count++; }
請考慮查看源代碼。 – 2012-01-28 03:27:04
無需使用for循環來檢查元素是否存在或不在列表中。 – adatapost 2012-01-28 03:30:14
我必須檢查第一個列表中的每個元素是否都在第二個列表中。基本上,拿起重疊的元素。 – madCode 2012-01-28 03:31:54