Как это используется. Используемые коллекции - PullRequest
0 голосов
/ 31 октября 2019

Я не понимаю, как обычно используются Коллекции. Путаница началась, когда я узнал, что такое бинарный поиск, и я искал реализацию в Java. Сначала я обнаружил, что это https://www.javatpoint.com/binary-search-in-java,, но я также нашел это на Geeksforgeeks: https://www.geeksforgeeks.org/collections-binarysearch-java-examples/.

Они в значительной степени имеют тот же результат, и, очевидно, второе проще, но я неЯ действительно не понимаю, в чем смысл первой ссылки. Если обобщить для всех коллекций, то существуют ли ситуации, когда использование коллекций невыгодно?

Извините, мой вопрос не может быть более конкретным или вопрос не имеет смысла, но я не понимаюдостаточно, чтобы сделать его более конкретным.

Ответы [ 2 ]

2 голосов
/ 31 октября 2019

java.util.Collections - это библиотечный класс, содержащий util ity методы для работы с типами Collection . То есть у него есть полезные методы, которые решают общие проблемы или делают полезные вещи, так что вам не нужно писать собственный код для их выполнения. Ваша первая ссылка показывает реализацию алгоритма двоичного поиска с нуля, а ваша вторая ссылка показывает, как использовать служебный метод Collections.binarySearch, который экономит написание вашей собственной реализации.

Первыйссылка может быть полезна в образовательных целях (поскольку учащимся часто приходится узнавать об алгоритме бинарного поиска), или она может быть полезна для людей, которым необходимо адаптировать бинарный поиск к другой проблеме. Например, вариант бинарного поиска может использоваться для нахождения first вхождения целевого числа или наименьшего числа, большего или равного целевому, но метод Collections.binarySearch не может выполнить ни одно из этих действий. вещи, так что вы могли бы написать реализацию самостоятельно.

2 голосов
/ 31 октября 2019

Первая ссылка, которую вы опубликовали, на самом деле объясняет, как работает бинарный поиск, дает теорию, лежащую в основе, и как реализовать ее самостоятельно. Это хорошо для понимания того, как и почему работает бинарный поиск.

Однако в языке Java есть библиотека утилит для коллекций (Maps, Lists и т. Д.), В которых уже реализованы некоторые из этих простых методов. Вторая ссылка объясняет, как использовать эту библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...