final int c = 5; // Количество столбцов
int m[][] = new int[r][c]; // Двумерный массив
int k; System.out.println("Matrix:");
for (int i = 0; i < r; i++) { // Цикл по строкам
for (int j = 0; j < c; j++) { // Цикл по колонкам
k = (int) Math.round(Math.random() * 100); // Получение случайного числа
m[i][j] = k; // Присвоение элементу массива числа
System.out.print(String.format("%5d", m[i][j])); // Вывод на экран элемента массива
} System.out.println("");
}
// Поиск минимума и максимума в массиве
int min = m[0][0], max = m[0][0], maxi = 0, maxj = 0, mini = 0, minj = 0; // Задаем начальные значения мин и макс
for (int i = 0; i < r; i++) { // Цикл по строкам
for (int j = 0; j < c; j++) { // Цикл по колонкам
k = m[i][j]; // Получаем элемент массива
if (k > max) { max = k; maxi = i; maxj = j; } // Поиск максимума
if (k < min) { min = k; mini = i; minj = j; } // Поиск минимума
}
}
// Меняем максимальный и минимальный элементы в масиве местами
k = m[maxi][maxj]; m[maxi][maxj] = m[mini][minj]; m[mini][minj] = k;
// Вывод измененного массива на экран
System.out.println("New matrix:");
for (int i = 0; i < r; i++) { // Цикл по строкам
for (int j = 0; j < c; j++) { // Цикл по колонкам
System.out.print(String.format("%5d", m[i][j])); // Вывод на экран элемента массива
} System.out.println("");
}
}
}
Результат работы программы:
Matrix:
42 83 94 96 1
2 64 27 32 10
20 86 49 14 36
12 35 14 65 97
New matrix:
42 83 94 96 97
2 64 27 32 10
20 86 49 14 36
12 35 14 65 1
1.7 Динамические массивы-списки
Динамические массивы реализованы на уровне параметризованных классов: Vector и ArrayList. Однако в качестве элементов простые типы выступать не могут, допускаются только объектные типы.
Для управления элементами эти классы используют методы интерфейсов Collection и List:
– add(E o) – добавление элемента в конец;
– add(int index, E element) – вставка элемента в указанную позицию;
– remove(int index) – удаление элемента в указанной позиции;
– remove(Object o) – удаление первого вхождения объекта в списке;
– clear() – удаление всех элементов;
– isEmpty() – определяет, содержит ли список элементы;