HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Помимо рассмотренных операций над списком, есть набор операций, которые выполняются между двумя и более списками. Среди них:</p>
1 <p>Помимо рассмотренных операций над списком, есть набор операций, которые выполняются между двумя и более списками. Среди них:</p>
2 <ul><li>Расширение одного списка элементами другого списка.</li>
2 <ul><li>Расширение одного списка элементами другого списка.</li>
3 <li>Поиск общих элементов в двух и более списках.</li>
3 <li>Поиск общих элементов в двух и более списках.</li>
4 <li>Поиск элементов, которые есть в одном списке, но нет в другом.</li>
4 <li>Поиск элементов, которые есть в одном списке, но нет в другом.</li>
5 <li>Поиск элементов, которые уникальны для двух списков</li>
5 <li>Поиск элементов, которые уникальны для двух списков</li>
6 </ul><p>Рассмотрим некоторые из них, с которыми вы наверняка будете сталкиваться в реальной жизни.</p>
6 </ul><p>Рассмотрим некоторые из них, с которыми вы наверняка будете сталкиваться в реальной жизни.</p>
7 <h2>Копирование списков</h2>
7 <h2>Копирование списков</h2>
8 <p>Копирование само по себе редко является самоцелью, но часто используется для каких-то других операций, в том числе тех, что мы рассмотрим в этом уроке. Самый простой способ копировать список - создать новый список с исходным списком, переданным как параметр:</p>
8 <p>Копирование само по себе редко является самоцелью, но часто используется для каких-то других операций, в том числе тех, что мы рассмотрим в этом уроке. Самый простой способ копировать список - создать новый список с исходным списком, переданным как параметр:</p>
9 <p>В примере выше получилось два независимых списка. Изменение одного не приводит к изменениям другого. Но так происходит не всегда. Если список состоит из объектов, которые можно менять, тогда изменение объекта в одном списке, повлияет и на другой, так как копирование списков не копирует элементы списка.</p>
9 <p>В примере выше получилось два независимых списка. Изменение одного не приводит к изменениям другого. Но так происходит не всегда. Если список состоит из объектов, которые можно менять, тогда изменение объекта в одном списке, повлияет и на другой, так как копирование списков не копирует элементы списка.</p>
10 <h2>Сравнение списков</h2>
10 <h2>Сравнение списков</h2>
11 <p>Как и копирование обычно нужно в рамках каких-то других операций. В самом простом случае бывает нужно сравнить равенство двух списков между собой. Так как списки это объекты, мы не можем сравнивать их напрямую, в таком случае будут сравниваться ссылки. Для правильного сравнения понадобится метод equals()</p>
11 <p>Как и копирование обычно нужно в рамках каких-то других операций. В самом простом случае бывает нужно сравнить равенство двух списков между собой. Так как списки это объекты, мы не можем сравнивать их напрямую, в таком случае будут сравниваться ссылки. Для правильного сравнения понадобится метод equals()</p>
12 <p>Метод equals() проверяет не только совпадение элементов, но и их порядок.</p>
12 <p>Метод equals() проверяет не только совпадение элементов, но и их порядок.</p>
13 <p>Кроме полного сопоставления, мы можем проверять вхождение одного списка в другой:</p>
13 <p>Кроме полного сопоставления, мы можем проверять вхождение одного списка в другой:</p>
14 <h2>Слияние списков</h2>
14 <h2>Слияние списков</h2>
15 <p>Операция выполняется с помощью метода addAll(), который добавляет в коллекцию поэлементно другую коллекцию, переданную как параметр. Этот метод меняет исходную коллекцию:</p>
15 <p>Операция выполняется с помощью метода addAll(), который добавляет в коллекцию поэлементно другую коллекцию, переданную как параметр. Этот метод меняет исходную коллекцию:</p>
16 <p>Иногда нужно получить общий список, не меняя исходного. В таком случае можно воспользоваться копированием:</p>
16 <p>Иногда нужно получить общий список, не меняя исходного. В таком случае можно воспользоваться копированием:</p>
17 <h2>Объединение списков</h2>
17 <h2>Объединение списков</h2>
18 <p>Операция объединения списков отличается от операции слияния. Объединение подразумевает то, что если элементы присутствуют в обоих списках, в результирующий список они попадут лишь в одном экземпляре. Подобная операция реализуется с помощью<a>CollectionUtils.union()</a></p>
18 <p>Операция объединения списков отличается от операции слияния. Объединение подразумевает то, что если элементы присутствуют в обоих списках, в результирующий список они попадут лишь в одном экземпляре. Подобная операция реализуется с помощью<a>CollectionUtils.union()</a></p>
19 <h2>Пересечение списков</h2>
19 <h2>Пересечение списков</h2>
20 <p>Под пересечением понимается поиск общих элементов, то есть тех, которые есть и в первом, и во втором списке. Пересечение выполняется с помощью метода retainAll(). Этот метод меняет исходную коллекцию.</p>
20 <p>Под пересечением понимается поиск общих элементов, то есть тех, которые есть и в первом, и во втором списке. Пересечение выполняется с помощью метода retainAll(). Этот метод меняет исходную коллекцию.</p>
21 <p>Если исходные коллекции должны остаться в неизменном виде, то снова поможет копирование списков.</p>
21 <p>Если исходные коллекции должны остаться в неизменном виде, то снова поможет копирование списков.</p>
22 <p>То же самое с использованием<a>CollectionUtils.intersection()</a></p>
22 <p>То же самое с использованием<a>CollectionUtils.intersection()</a></p>
23 <h2>Разность списков</h2>
23 <h2>Разность списков</h2>
24 <p>Под разностью понимается коллекция, состоящая из элементов первой коллекции, которых нет во второй. Java не предоставляет метода для решения этой задачи, поэтому у нас есть два варианта, либо реализовывать эту логику самостоятельно на циклах, либо воспользоваться<a>CollectionUtils.subtract()</a>.</p>
24 <p>Под разностью понимается коллекция, состоящая из элементов первой коллекции, которых нет во второй. Java не предоставляет метода для решения этой задачи, поэтому у нас есть два варианта, либо реализовывать эту логику самостоятельно на циклах, либо воспользоваться<a>CollectionUtils.subtract()</a>.</p>
25  
25