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

Материал из Викиучебника — открытых книг для открытого мира
Перейти к: навигация, поиск
Книга 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 элементу значение 12.
        flat[0][0] = 6; // В первом подмассиве присваиваем 1 элементу значение 6.
        flat[1][1] = 3; // Во втором подмассиве присваиваем 2 элементу значение 3.
        
        int b = (flat[0][2] + flat[0][0]) / flat[1][1];
        System.out.println(b);
    }
}

Как понятно из выше написанного кода, с двумерными массивами тоже можно проводить арифметические операции и присваивать значения.

Таким же образом можно создавать массивы с ещё большим количеством "измерений" - Трёхмерные и так далее...

Другие структуры[править]

Collection[править]

Коллекция (объектов). Коллекции могут быть разными. Как и в жизни, один человек копит предметы не отвлекаясь на порядок и качество, другой раскладывает свою коллекцию по полочкам, но из-за этого делает все медленнее.

Set[править]

В Set каждый объект занимает одно конкретное место. Если попытаться добавить объект дважды в один и тот же Set - то внутри будет все-равно только один объект.

List[править]

Это цепочка объектов, к которой можно добавлять еще или замещать уже существующие или удалять. Но все объекты, в отличии от Set стоят в строгом порядке и один объект можно добавлять несколько раз.