Как красиво получить последний элемент массива?
Когда надо получить последний элемент массива, то как правило используется классическая конструкция:
int a = array[array.length - 1];
Я называю её классической, потому что я встречал её в своих учебных материалах очень часто, и она первая приходит на ум, когда мне надо получить последний элемент массива. Однако, недавно я увидел, что она порождает проблему: массив может быть пустым и попытка получить последний элемент породит IndexOutOfBoundException. Появляются дополнительные проверки:
int length = array.length; int a; if (length != 0) < a = array[length - 1]; >else < a = 0; // для примера, логика обработки данной ситуации может быть и другой >
Можно использовать Stream API, и сделать такую конструкцию:
Optional a = list.stream().reduce((a, a1) -> a1);
Но она тоже выглядит странно. Почему в List нет метода getLast() , как в LinkedList? Почему в Stream API отсутствует функция last() , тогда как там есть функция first() ? Каковы исторические / технические причины отсутствия метода last() в интерфейсе List и Stream API, и как можно красиво получать последний элемент списка?
Получить первый и последний элемент в массиве

Надо написать функцию getExtremeElements(array) которая принимает один параметр array — массив элементов произвольной длины. Функция должна возвращать массив из двух элементов — первого и последнего элемента параметра array.
Дополнен 1 год назад
не совсем понимаю как надо прописать, толи перебор делать или с помощью slice. Если кто-то может, подскажите пожалуйста, а то ступор
Лучший ответ
может быть return [array[0],array[array.length-1]]
Vadym Frolov FrolovУченик (98) 1 год назад
Как получить последний элемент массива java
Я правильно понимаю — что если я массиву Б присвою массив А (В=А). То присвою просто ссылку на А. Ссылку на В потеряю и начальное содержимое В — будет очищено потом при очистке мусора? int[] A = new int[3] <1,2,3>; int[] B = new int[3] ; B=A; // содержимое В потеряно A[1]=5; // в A[1] и B[1] теперь значение 5 A=null; //теперь ссылка на массив А только в Б?1,2,3>
Anatoly Уровень 24
22 апреля 2023
Теперь все встало на свои места
Vladimir Уровень 14
12 апреля 2023
Хороший материал, спасибо автору! Единственный момент, на мой взгляд, лучше отобразить импорт класса Arrays, чтобы было понятно откуда методы по классу Arrays берутся.
Ислам Уровень 32
12 апреля 2023
отличная лекция, которая дает больше понимания о массивах в Java
Кирилл Загурный Уровень 28 Expert
12 апреля 2023
Отличный материал на закрепление темы массивов. Спасибо!
13 марта 2023
Автору спасибо, полезный и понятный материал!
Сообщество
JavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
«Программистами не рождаются» © 2024 JavaRush
Скачивайте наши приложения
«Программистами не рождаются» © 2024 JavaRush
Этот веб-сайт использует данные cookie, чтобы настроить персонально под вас работу сервиса. Используя веб-сайт, вы даете согласие на применение данных cookie. Больше подробностей — в нашем Пользовательском соглашении.
Как указать индекс последнего элемента массива java
В Java индекс последнего элемента массива всегда на единицу меньше размера массива.
Таким образом, чтобы получить индекс последнего элемента массива в Java , можно использовать выражение array.length — 1 , где array — это ссылка на массив.
Например, если у вас есть массив myArray , то индекс последнего элемента можно получить следующим образом:
int[] myArray = 1, 2, 3, 4, 5>; int lastIndex = myArray.length - 1; // 4