Перейти к содержанию

Java/Стандартные структуры

Материал из Викиучебника — открытых книг для открытого мира

Массивы

[править]

Представим, что массив это комната где лежат коробки с номерами, например нулевая, первая, вторая и так далее. Создавая массив объектов, вы создаете множество коробок переменных. Массив нужен тогда, когда вы имеете дело с большим количеством переменных и будет сложно объявлять все переменные отдельно. Чтобы просто объявить массив надо написать:

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, стоят в строгом порядке, и один и тот же объект можно добавлять несколько раз.