arraylist java инициализация при создании

ArrayList является частью инфраструктуры коллекции и присутствует в пакете java.util . Он предоставляет нам динамические массивы в Java. Хотя это может быть медленнее, чем стандартные массивы, но может быть полезно в программах, где требуется много манипуляций в массиве.

  • ArrayList наследует класс AbstractList и реализует интерфейс List.
  • ArrayList инициализируется размером, однако размер может увеличиваться при увеличении или уменьшении коллекции при удалении объектов из коллекции.
  • Java ArrayList позволяет нам случайный доступ к списку.
  • ArrayList не может использоваться для примитивных типов, таких как int, char и т. Д. Для таких случаев нам нужен класс-оболочка (подробности см. В этом разделе).
  • ArrayList в Java можно рассматривать как схожий с вектором в C ++.

Ниже приведены различные методы для инициализации ArrayList в Java:

есть большой массив типа String s[ ]=<"a", "b", "c", "d">; но мне нужно сделать в ArrayList as , чтобы можно было удалять элементы. Метод копирования из String s[ ] в ArrayList не подходит, нужно сразу внести, а вводить методом as.add(«a») и т.д. очень неудобно. Как ввести все элементы одной строкой? т.е. можно ли как в String s[ ]=<"a", "b", "c", "d">;

1 ответ 1

Можно. Вам нужен метод Arrays.asList(. ) , который является популярным способом создать список из заранее известных элементов.

Но есть одно но. Полученный список не будет настоящим ArrayList -ом. В целом это не будет вас задевать, если вы не захотите, например, сериализовать этот список.

«Честный» ArrayList можно получить, обернув список в конструктор:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками java или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459

  • MpaK
  • 5 декабря 2009, 21:28

  • dark_barker
  • 8 декабря 2009, 22:03

Дело в том, что в Java нельзя инициализировать коллекции, типа того, как например в php
То есть задать предустановленные значения нельзя. Правда, для одного особого объекта — массива — можно вместо
написатьЧтобы сделать, например, список значений надо руками его забить:

Так всегда и делают, по другому никак. Можно это всё инициализировать в методе каком-нибудь или в конструкторе класса, а можно запихать в static-блок вначале класса, тогда это само при подгрузке класса загрузчиком, но тем не менее этого кода не избежать:

И иногда заёбывает забивать какие-нибудь константные hashmap. Способ описанный мной даёт возможность покороче записать инициализацию коллекиции List, просто пишешь
и всё тут. static-метод описываемый как сам превращает список параметров произвольной длины generic-типа T в коллекцию объектов типа T.

Оцените статью