В этом гайде я объясню что такое массивы и как с ними работать. Начнём с основ.
Что такое массив? Массив - это, можно сказать, просто список данных. В переменной без ухищрений может хранится всего одно значение, в массиве же может хранится много переменных. Формат хранения простой, индекс — значение. Значением может выступать любая переменная, даже массив(Т.е. вы можете хранить массив в массиве. Умно, да?)
Что такое индекс? Индекс - это этакий номер значения в массиве. То, по чему мы можем получить доступ к какому-нибудь значению. Индексы уникальны, в массиве не может быть два индекса 1 с разными значениями. А вот индексы 1 и 2 с одинаковыми значениями могут быть, так как значения, наоборот, не уникальны и могут повторяться. Счет индексов начинается с 1, 1-й элемент - 1 индекс
Переменная "Массив". В определенных случаях вместо переменной "Массив" можно использовать динамическую переменную, например если у нас первый массив лежит во втором и нам надо как-то получить доступ к первому массиву. Но лучше всего использовать всегда именно переменную "Массив" Массивы могут быть временными и постоянными, постоянный - сохраняется навсегда, допустим подойдёт для создания топов. Временный же удалится после выхода игрока из режима.
Перейдём на возможности взаимодействия с массивами
Очистить/Создать массив — я думаю, что тут итак понятно. Ложим переменную "Массив" с любым названием и вниз ложим значения. Если такой массив с таким названием уже существует - старый массив полностью удалится. Значения можно не ложить, тогда у нас будет пустой массив.
Получить элемент массива — тоже всё просто. Ложим переменную "Массив" с нужным названием, затем ложим индекс элемента который надо получить и переменную для сохранения результата. Если у нас всего 4 элемента в массиве, а мы попытаемся получить 5-й, нам выдаст просто значение 0, так как такого элемента не существует.
Вставить в массив — лично я эту функцию не использовал ни разу(До написания этого гайда я даже не знал как она работает). Допустим, у нас есть вот такой массив
И нам надо вставить значение "maxim34c" третьим индексом(Между значениями maxim34b и maxim34d). Для этого нам и нужна эта функция. Ложим используемый массив(Повторю который раз, надо использовать не динамическую переменную с названием массива, а именно переменную "Массив". И обязательно описание должно совпадать, если вы случайно сделали массив постоянным, а в других блоках он временный - где-то он не будет работать), затем индекс для вставки: в нашем случае 3(c - третья буква английского алфавита) и значение для вставки: текст "maxim34c". Вставляем и получаем такой массив:
То есть значения после индекса 3 сдвинулись на один индекс вперёд, это всё. Если ввести число больше, чем у нас элементов в массиве, то значение вставится самым последним
Заменить элемент массива — тоже простенькое действие, заменяет элемент массива. Допустим, нам в том же массиве
надо заменить третье значение("maxim34d") на значение "maxim34c". Ложим переменную массива, индекс для замены и значение на которое надо заменить. Получится такой массив:
Если ввести значение для замены больше, чем у нас есть элементов в массиве - выдаст ошибку(У нас 3 индекса, а мы пытаемся заменить значение по индексу 4, которого не существует)
Удалить элемент массива — опять простая функция, полностью удалить элемент из массива. После удаления значения немного сместятся, из вот такого массива:
при удалении элемента по первому индексу получится такой массив:
Добавить элемент в конец массива — пожалуй, последняя простая функция. Добавляет указанный элемент в самый конец массива. Допустим, добавим элемент "boss" в конец этого массива:
получится такой массив
Присоединить массив — это почти то же, что добавить элемент в конец массива. Теперь нам надо добавить несколько значений в конец первого массива. Можно сделать через много блоков "Добавить элемент в конец массива", но это не всегда выгодно по размеру. А можно создать второй массив с этими значениями и присоединить второй массив ко второму. Примеры:
Скопировать массив — по моему мнению, абсолютно бесполезная функция. Просто копирует все значения одного массива в другой, даже объяснять нечего
Получить размер массива — сохраняет количество элементов(Индексов, значений, как хотите) в переменную. Допустим, у нас 5 элементов в массиве, значит размер массива будет равен 5
Сортировать массив — достаточно полезная и интересная функция. Сортирует массив по возрастанию(Сначало маленькие числа, потом большие) и по убыванию(Сначало большие, потом маленькие. Сортирует не только числа, но и буквы(В алфавитном порядке), и юникод символы.
Вывести массив в строку — самая интересная функция(и моя любимая), как мне кажется. Итак, у нас есть массив любых значений и нам надо напечатать его в чат. Превращаем его в строку и выводим динамическую переменную:
То, что в кавычках - название. (5) - количество элементов в массиве, а дальше идут сами значения: сначало индекс(с #), потом значение. Почему первый индекс 0, если до этого я писал что отсчёт идёт с 1? В самой Jav`е отсчёт массива идёт с 0, но судя по всему, для удобства игроков сделали отсчёт от 1. Где можно применить это? Допустим, нам надо узнать, содержится ли значение "maxim34a" в массиве с никами нескольких игроков. Мы можем сделать это циклом, с каждой итерацией(проход цикла) добавлять +1 к определенному числу и использовать это число как индекс, а затем делать проверку на "Если значение равно". А можно сделать проще, вывести массив в строку и сделать через "Если текст содержит". Единственная проблема появляется в числах. Если нам надо узнать, находится ли число 5 в массиве(а его там нету) то оно будет искать число 5 среди всего текста, и если есть индекс 5 - оно определит, что такое значение существует. Как обойти это - добавлять не числа, а текст типа " 5 "(с пробелами)
Что такое массив? Массив - это, можно сказать, просто список данных. В переменной без ухищрений может хранится всего одно значение, в массиве же может хранится много переменных. Формат хранения простой, индекс — значение. Значением может выступать любая переменная, даже массив(Т.е. вы можете хранить массив в массиве. Умно, да?)
Код:
Пример:
1 — значение
2 — значение
3 — значение
4 — значение
Что такое индекс? Индекс - это этакий номер значения в массиве. То, по чему мы можем получить доступ к какому-нибудь значению. Индексы уникальны, в массиве не может быть два индекса 1 с разными значениями. А вот индексы 1 и 2 с одинаковыми значениями могут быть, так как значения, наоборот, не уникальны и могут повторяться. Счет индексов начинается с 1, 1-й элемент - 1 индекс
Переменная "Массив". В определенных случаях вместо переменной "Массив" можно использовать динамическую переменную, например если у нас первый массив лежит во втором и нам надо как-то получить доступ к первому массиву. Но лучше всего использовать всегда именно переменную "Массив" Массивы могут быть временными и постоянными, постоянный - сохраняется навсегда, допустим подойдёт для создания топов. Временный же удалится после выхода игрока из режима.
Перейдём на возможности взаимодействия с массивами
Очистить/Создать массив — я думаю, что тут итак понятно. Ложим переменную "Массив" с любым названием и вниз ложим значения. Если такой массив с таким названием уже существует - старый массив полностью удалится. Значения можно не ложить, тогда у нас будет пустой массив.
Получить элемент массива — тоже всё просто. Ложим переменную "Массив" с нужным названием, затем ложим индекс элемента который надо получить и переменную для сохранения результата. Если у нас всего 4 элемента в массиве, а мы попытаемся получить 5-й, нам выдаст просто значение 0, так как такого элемента не существует.
Вставить в массив — лично я эту функцию не использовал ни разу(До написания этого гайда я даже не знал как она работает). Допустим, у нас есть вот такой массив
Код:
1 - maxim34a
2 - maxim34b
3 - maxim34d
Код:
1 - maxim34a
2 - maxim34b
3 - maxim34c
4 - maxim34d
Заменить элемент массива — тоже простенькое действие, заменяет элемент массива. Допустим, нам в том же массиве
Код:
1 - maxim34a
2 - maxim34b
3 - maxim34d
Код:
1 - maxim34a
2 - maxim34b
3 - maxim34c
Удалить элемент массива — опять простая функция, полностью удалить элемент из массива. После удаления значения немного сместятся, из вот такого массива:
Код:
1 - maxim34a
2 - maxim34b
3 - maxim34c
Код:
1 - maxim34b
2 - maxim34c
Добавить элемент в конец массива — пожалуй, последняя простая функция. Добавляет указанный элемент в самый конец массива. Допустим, добавим элемент "boss" в конец этого массива:
Код:
1 - ya
2 - ochen
3 - ystal
Код:
1 - ya
2 - ochen
3 - ysta
4 - boss l
Присоединить массив — это почти то же, что добавить элемент в конец массива. Теперь нам надо добавить несколько значений в конец первого массива. Можно сделать через много блоков "Добавить элемент в конец массива", но это не всегда выгодно по размеру. А можно создать второй массив с этими значениями и присоединить второй массив ко второму. Примеры:
Код:
Первый массив:
1 - первый
2 - второй
3 - третий
Второй массив:
1 - четвертый
2 - пятый
После присоединения второго массива к первому первый массив будет содержать такие значения:
1 - первый
2 - второй
3 - третий
4 - четвертый
5 - пятый
Скопировать массив — по моему мнению, абсолютно бесполезная функция. Просто копирует все значения одного массива в другой, даже объяснять нечего
Получить размер массива — сохраняет количество элементов(Индексов, значений, как хотите) в переменную. Допустим, у нас 5 элементов в массиве, значит размер массива будет равен 5
Сортировать массив — достаточно полезная и интересная функция. Сортирует массив по возрастанию(Сначало маленькие числа, потом большие) и по убыванию(Сначало большие, потом маленькие. Сортирует не только числа, но и буквы(В алфавитном порядке), и юникод символы.
Вывести массив в строку — самая интересная функция(и моя любимая), как мне кажется. Итак, у нас есть массив любых значений и нам надо напечатать его в чат. Превращаем его в строку и выводим динамическую переменную:
То, что в кавычках - название. (5) - количество элементов в массиве, а дальше идут сами значения: сначало индекс(с #), потом значение. Почему первый индекс 0, если до этого я писал что отсчёт идёт с 1? В самой Jav`е отсчёт массива идёт с 0, но судя по всему, для удобства игроков сделали отсчёт от 1. Где можно применить это? Допустим, нам надо узнать, содержится ли значение "maxim34a" в массиве с никами нескольких игроков. Мы можем сделать это циклом, с каждой итерацией(проход цикла) добавлять +1 к определенному числу и использовать это число как индекс, а затем делать проверку на "Если значение равно". А можно сделать проще, вывести массив в строку и сделать через "Если текст содержит". Единственная проблема появляется в числах. Если нам надо узнать, находится ли число 5 в массиве(а его там нету) то оно будет искать число 5 среди всего текста, и если есть индекс 5 - оно определит, что такое значение существует. Как обойти это - добавлять не числа, а текст типа " 5 "(с пробелами)
Последнее редактирование: