Как поменять элементы в массиве java
Перейти к содержимому

Как поменять элементы в массиве java

  • автор:

Как поменять местами элементы массива в java

Чтобы поменять местами два элемента массива в Java, нужно будет воспользоваться временной промежуточной переменной. Для примера создадим массив строк из трёх элементов:

String[] animals = "cats", "dogs", "birds">; 

Поменяем местами первый и последний элемент массива:

// Создаём промежуточную переменную и записываем туда первый элемент массива String temp = animals[0]; // Меняем местами значения animals[0] = animals[2]; // Значение первого элемента берем из промежуточной переменной animals[2] = temp; System.out.println(Arrays.toString(animals)); // => ["birds", "dogs", "cats"] 

Java Поменять местами элементы массива

Помогите поменять местами max и min значение массива. Сами значения нашёл, местами поменял, а как это в массиве непосредственно сделать. Подозреваю, что нужны индексы для этого, но как? мой код:

 int[] arr = new int[] ; int max = arr[0]; int min = arr[0]; int maxInd = 0; int minInd = 0; for (int i = 0; i < arr.length; i++) < max = Math.max(max, arr[i]); min = Math.min(min, arr[i]); >int temp = min; min = max; max = temp; System.out.println(min); System.out.println(max); > 

Отслеживать
задан 15 янв 2021 в 2:23
113 2 2 серебряных знака 9 9 бронзовых знаков

вам надо найти не сами занчения max и min, а их индексы в массиве. Имея индексы, можно легко поменять элементы местами.

15 янв 2021 в 2:48
В том-то и вопрос. Просто без значения элемента номер индекса не имеет смысла. Нет?
15 янв 2021 в 3:05

Если у вас есть номер индекса, то у вас уже есть значение, так как по номеру индекса всегда это значение можно получить.

15 янв 2021 в 4:08

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Да, для перестановки элементов массива, помимо того что запоминать значение максимального элемента, необходимо также запоминать его индекс (позицию в массиве), причем переменные индексов у вас уже заведены, поэтому остается только реализовать код, например так:

int[] arr = new int[]; int max = arr[0]; int min = arr[0]; int maxInd = 0; int minInd = 0; for (int i = 0; i < arr.length; i++) < if (max >arr[i]) < // сравниваем maxInd = i; // запоминаем индекс max = arr[i]; // запоминаем значение >if (min < arr[i]) < // сравниваем minInd = i; // запоминаем индекс min = arr[i]; // запоминаем значение >> // переставляем элементы int temp = arr[minInd]; arr[minInd] = arr[maxInd]; arr[maxInd] = temp; Arrays.stream(arr).forEach(e-> System.out.println(e)); // вывод массива 

Отслеживать
ответ дан 15 янв 2021 в 3:40
678 3 3 серебряных знака 10 10 бронзовых знаков
Запоминать значение не обязательно, если вы запомнили индекс.
15 янв 2021 в 4:07

  • java
  • for
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Поменять местами два элемента списка в Java

В этом посте мы обсудим, как поменять местами два элемента списка в Java.

1. Использование Collections.swap() метод

Стандартное решение для замены двух элементов в списке использует метод Collections.swap() метод, который меняет местами элементы в указанных позициях в списке.

import java . util . Arrays ;
import java . util . Collections ;
import java . util . List ;
class Main
public static void main ( String [ ] args )
List words = Arrays . asList ( «a» , «c» , «b» , «d» ) ;
Collections . swap ( words , 1 , 2 ) ;
System . out . println ( words ) ;

результат:

[a, b, c, d]

Чтобы поменять местами массив, вы можете получить список фиксированного размера, поддерживаемый массивом, и передать его в Collections.swap() метод. Поскольку список поддерживается массивом, любые изменения, внесенные в список, также будут видны в массиве.

Как заменить элемент массива java

Чтобы заменить элемент массива в Java , вы можете использовать обычную операцию присваивания, но в квадратных скобках указать индекс элемента, который вы хотите заменить. Например:

int[] arr = 1, 2, 3, 4>; arr[2] = 5; // заменяем третий элемент (индекс 2) на 5 System.out.println(Arrays.toString(arr)); // => [1, 2, 5, 4] 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *