Skip to content

Instantly share code, notes, and snippets.

@proffix4
Last active April 16, 2018 04:57
Show Gist options
  • Save proffix4/eeb608972e99ade93adb2065ed9c7026 to your computer and use it in GitHub Desktop.
Save proffix4/eeb608972e99ade93adb2065ed9c7026 to your computer and use it in GitHub Desktop.
Java - Working with arrays
1. ОДНОМЕРНЫЕ СТАТИЧЕСКИЕ МАССИВЫ
package tsn01.array;
import java.util.Arrays;
public class TSN01_Array {
public static void main(String[] args) {
// Пример работы с одномерными статическими массивами
int a[], b[]; // Переменные-массивы целых чисел
a = new int[10]; // Создание массива без инициализации
b = new int[]{1, 2, 3, 4}; // Создание массива с инициализацией
String s[] = new String[] {"Hello ", "world", "!!!"}; // Описываем и создаем массив строк
Arrays.fill(a, 0); // Заполнить массив нулями
a[0] = 20; a[1] = 10; a[2] = 5; a[3] = 33; // Устанавливаем значения 4 элементам
Arrays.fill(a, 5,10,-1); // Присвоить с 5 по 9 (10-1) элементам значение "-1"
Arrays.sort(a); // Сортируем массив
b[3] = b[1]*0b11+b[2]*0x2; // Рассчитываем значение для 4 элемента
System.out.println(Arrays.toString(a)); // Вывод на экран массива "a"
System.out.println(Arrays.toString(b)); // Вывод на экран массива "b"
System.out.println(Arrays.toString(s)); // Вывод на экран массива "s"
// Вывод на экран размеров массивов
System.out.println("Количество элементов в массиве \"a\": " + a.length);
System.out.println("Количество элементов в массиве \"b\": " + b.length);
System.out.println("Количество элементов в массиве \"str\": " + s.length);
System.out.println(s[0] + s[1]); // Доступ к элементам массива
}
}
2. МНОГОМЕРНЫЕ СТАТИЧЕСКИЕ МАССИВЫ
package tsn01.matrix;
public class TSN01_Matrix {
public static void main(String[] args) {
// Работа с двумерным статическим массивом чисел
// Создание исходных данных (элементов массива) и вывод их на экран
final int r = 4; // Количество строк
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("");
}
}
}
3. ДИНАМИЧЕСКИЕ МАССИВЫ
3.1. Пример работы с динамическим массивом целых чисел
package tsn01.arraylist;
import java.util.ArrayList;
public class TSN01_ArrayList {
public static void main(String[] args) {
// Работа с динамическим массивом целых чисел
ArrayList<Integer> i = new ArrayList<>(); // Создание динамического массива целых чисел
i.add(3); // Добавление значения
i.add(new Integer(3)); // Добавление значения
if (i.get(0)==i.get(1)) { System.out.println("Эта строчка не напечатается..."); }
if (i.get(0).equals(i.get(1))) { System.out.println("3=3"); }
i.add(12+5); // Добавление значения
System.out.println("Размер массива: " + i.size());
System.out.println("Элементы массива: " + i.get(0).intValue() + ", " + i.get(1)+ ", " + i.get(2));
}
}
3.2. Пример работы с динамическим массивом строк
package tsn01.arraylist;
import java.util.ArrayList;
public class TSN01_ArrayList {
public static void main(String[] args) {
// Работа с динамическим массивом строк
ArrayList<String> pozdr = new ArrayList<>(); // Массив пожеланий
ArrayList<String> fam = new ArrayList<>(); // Массив фамилий
// Добавление поздравления в массив
pozdr.add("Удачи"); pozdr.add("Здоровья"); pozdr.add("Денег");
// добавление фамилии в массив
fam.add("Петров"); fam.add("Сидоров"); fam.add("Иванов");
// Проверка количества поздравлений
if (fam.size() > pozdr.size()) { return; }
// ПОЗДРАВЛЯЕМ !!!
for (int i = 0; i < fam.size(); i++) {
// Генерируем случайное число в диапазоне от 0 до длины массива поздравлений
int p = (int) Math.floor(Math.random() * pozdr.size());
// Генерация поздравления
System.out.println("Уважаемый " + fam.get(i)
+ "! Поздравляем Вас с этим прекрасным праздником, и желаем Вам "
+ pozdr.get(p).toString().toLowerCase() + "!");
pozdr.remove(p); // Удаляем элемент с индексом р из массива поздравлений
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment