Java/Стандартные структуры
- Начало
- Hello World!
- Комментарии
- Переменные
- Стандартные структуры
- Операторы условий
- Полезные сокращения
- Операторы цикла
- Классы
- Исключения
- Коллекции
- Listeners
- GUI
- Паттерны
- Программы
- Компилирование
Массивы
править
Представим, что массив это комната где лежат коробки с номерами, например нулевая, первая, вторая и так далее. Создавая массив объектов, вы создаете множество коробок переменных. Массив нужен тогда, когда вы имеете дело с большим количеством переменных и будет сложно объявлять все переменные отдельно. Чтобы просто объявить массив надо написать:
int[] array;
Элементы в массиве имеют индексы. Индекс - число отвечающее за номер переменной в массиве. Индексы массивов начинаются с 0! Обращение к элементу массива выглядит так:
array[x]; //Где x - индекс необходимой переменной
Давайте разберём простую программу:
class ArrayTest {
public static void main(String[] args) {
int[] room = new int[2]; //Создаём массив с названием room типа int и говорим, что в нём 2 элемента
room[0] = 5; //Говорим, что в первой коробке (под индексом 0) лежит число 5
room[1] = 65; //А во второй коробке (под индексом 1) лежит число 65
int sum;
sum = room[0] + room[1]; //Складываем значения двух элементов массива и записываем их в переменную sum
System.out.println(sum); //Выводим на экран результат
}
}
Массив может содержать очень много элементов. Но важно понять, что массив не хранит данные, а только говорит где что лежит.
Двумерные массивы
правитьТакже существуют двумерные массивы. Это массивы, хранящие в себе другие массивы. Грубо говоря это квартира в которой есть комнаты, а в комнатах коробки под номерами, а в коробках значения:
int[][] twoDimensionalArray;
На практике это выглядит так:
class ArrayTest {
public static void main(String[] args) {
int[][] flat = new int[2][3]; // Создаём массив с двумя подмассивами, а в каждом подмассиве будет по 3 элемента.
flat[0][2] = 12; // В первом подмассиве присваиваем 3-ему элементу (под индексом 2) значение 12.
flat[0][0] = 6; // В первом подмассиве присваиваем 1-ому элементу (под индексом 0) значение 6.
flat[1][1] = 3; // Во втором подмассиве присваиваем 2-ому элементу (под индексом 1) значение 3.
int b = (flat[0][2] + flat[0][0]) / flat[1][1];
System.out.println(b);
}
}
Как понятно из выше написанного кода, с двумерными массивами тоже можно проводить арифметические операции и присваивать значения.
Таким же образом можно создавать массивы с ещё большим количеством "измерений" - трёхмерные, четырёхмерные и так далее.
Другие структуры
правитьCollection
правитьКоллекция (объектов). Коллекции могут быть разными. Как и в жизни, один человек копит предметы не отвлекаясь на порядок и качество, другой раскладывает свою коллекцию по полочкам, но из-за этого делает все медленнее.
Set
правитьВ Set каждый объект занимает одно конкретное место. Если попытаться добавить объект дважды в один и тот же Set, то внутри будет все-равно только один объект.
List
правитьЭто цепочка объектов, к которой можно добавлять еще или замещать уже существующие или удалять. Но все объекты, в отличие от Set, стоят в строгом порядке, и один и тот же объект можно добавлять несколько раз.