Java: .contains и .equals

Я пытаюсь выполнить программу, чтобы сравнить элементы в двух связанных списках друг с другом. с одной стороны, я могу сделать это, выполнив два цикла for и перебирая оба списка, сравнивая каждый элемент в list1 со списком2, используя .equals (). другой способ - просто перебирать первый список и проверять, содержит ли list1.contains (list1.get (i)) .. документация 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++; }
5
задан madCode 28 January 2012 в 03:45
поделиться