Ответ 1
Вы можете найти это самостоятельно для любого метода, посмотрев на Scaladoc и узнав, где он определен, и затем посмотрите на источник. Если вы начинаете с онлайн-документов, вы можете сделать это все, просто щелкнув: перейдите к методу, откройте его, нажав на стрелку на слева, и вы увидите список переопределяющих классов. Перейдите к первому и посмотрите на источник.
В любом случае, GenSeqLike
, supertrait of List
и многие другие коллекции, определяет equals
как проверку canEqual
, за которой следует sameElements
. В свою очередь, sameElements
проверяет, являются ли оба аргумента LinearSeq
s, и если это так, вызовы равны по каждой паре элементов, разбивая голову и конец отдельно друг на друга. В противном случае он по умолчанию использует итераторы, вызывая hasNext
для каждого, а затем сравнивая элементы с equals
.
Итак, длинный рассказ: да, он называет равенства для каждой пары элементов (останавливаясь, как только обнаруживает несоответствие).