Алгоритмы Java

В этом руководстве мы узнаем о различных алгоритмах, предоставляемых платформой коллекций Java, с помощью примеров.

Среда коллекций Java предоставляет различные алгоритмы, которые можно использовать для управления элементами, хранящимися в структурах данных.

Алгоритмы в Java - это статические методы, которые можно использовать для выполнения различных операций с коллекциями.

Поскольку алгоритмы могут использоваться в различных коллекциях, они также известны как общие алгоритмы .

Давайте посмотрим на реализацию различных методов, доступных в фреймворке коллекций.

1. Сортировка с помощью sort ()

sort()Метод , предоставляемый в рамках коллекций используются для сортировки элементов. Например,

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); ) ) 

Вывод

 Несортированный список массивов: (4, 2, 3) Список отсортированных массивов: (2, 3, 4) 

Здесь сортировка происходит в естественном порядке (по возрастанию). Однако мы можем настроить порядок сортировки sort()метода с помощью интерфейса Comparator.

Чтобы узнать больше, посетите Java Sorting.

2. Перемешивание с помощью перемешивания ()

shuffle()Метод рамок коллекции Java используется для уничтожения любого рода порядка , присутствующих в структуре данных. Это прямо противоположно сортировке. Например,

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Sorted ArrayList: " + numbers); // Using the shuffle() method Collections.shuffle(numbers); System.out.println("ArrayList using shuffle: " + numbers); ) ) 

Вывод

 Сортированный ArrayList: (1, 2, 3) ArrayList с использованием перемешивания: (2, 1, 3) 

Когда мы запустим программу, shuffle()метод вернет случайный результат.

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

3. Обычное манипулирование данными

В Java структура коллекций предоставляет различные методы, которые можно использовать для управления данными.

  • reverse() - меняет порядок элементов на обратный
  • fill() - заменить каждый элемент в коллекции указанным значением
  • copy() - создает копию элементов из указанного источника в место назначения
  • swap() - меняет местами два элемента в коллекции
  • addAll() - добавляет все элементы коллекции в другую коллекцию

Например,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); System.out.println("ArrayList1: " + numbers); // Using reverse() Collections.reverse(numbers); System.out.println("Reversed ArrayList1: " + numbers); // Using swap() Collections.swap(numbers, 0, 1); System.out.println("ArrayList1 using swap(): " + numbers); ArrayList newNumbers = new ArrayList(); // Using addAll newNumbers.addAll(numbers); System.out.println("ArrayList2 using addAll(): " + newNumbers); // Using fill() Collections.fill(numbers, 0); System.out.println("ArrayList1 using fill(): " + numbers); // Using copy() Collections.copy(newNumbers, numbers); System.out.println("ArrayList2 using copy(): " + newNumbers); ) ) 

Вывод

 ArrayList1: (1, 2) Обратный список ArrayList1: (2, 1) ArrayList1 Использование swap (): (1, 2) ArrayList2 с использованием addALl (): (1, 2) ArrayList1 с использованием fill (): (0, 0) ArrayList2 с использованием копия (): (0, 0) 

Примечание . При выполнении copy()метода оба списка должны быть одинакового размера.

4. Поиск с помощью binarySearch ()

binarySearch()Метод в Java коллекции каркасного поиска для указанного элемента. Он возвращает позицию элемента в указанных коллекциях. Например,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // Using binarySearch() int pos = Collections.binarySearch(numbers, 3); System.out.println("The position of 3 is " + pos); ) ) 

Вывод

 Позиция 3 равна 2. 

Примечание . Перед выполнением binarySearch()метода коллекцию следует отсортировать .

Чтобы узнать больше, посетите Java Binary Search.

5. Состав

  • frequency() - возвращает количество раз, когда элемент присутствует в коллекции
  • disjoint() - проверяет, содержат ли две коллекции какой-либо общий элемент

Например,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(2); System.out.println("ArrayList1: " + numbers); int count = Collections.frequency(numbers, 2); System.out.println("Count of 2: " + count); ArrayList newNumbers = new ArrayList(); newNumbers.add(5); newNumbers.add(6); System.out.println("ArrayList2: " + newNumbers); boolean value = Collections.disjoint(numbers, newNumbers); System.out.println("Two lists are disjoint: " + value); ) ) 

Вывод

 ArrayList1: (1, 2, 3, 2) Количество 2: 2 ArrayList2: (5, 6) Два списка не пересекаются: true 

6. В поисках экстремальных ценностей

В min()и max()методах рамок коллекции Java используется , чтобы найти минимальные и максимальные элементы, соответственно. Например,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // Using min() int min = Collections.min(numbers); System.out.println("Minimum Element: " + min); // Using max() int max = Collections.max(numbers); System.out.println("Maximum Element: " + max); ) ) 

Вывод

 Минимальный элемент: 1 Максимальный элемент: 3 

Интересные статьи...