Создание ArrayList с помощью конструктора ArrayList путем передачи коллекции в качестве аргумента

#java #arraylist #collections

Вопрос:

Я изучаю структуру сбора данных. Я прохожу через интерфейс списка, и одной из реализаций интерфейса списка является ArrayList.

В классе Arraylist присутствует четыре конструктора для создания объекта ArrayList.

 ArrayList(Collection c)

ArrayList<E> NameOfArrayList = new ArrayList<E>(collectionName);
 

Мой Вопрос :

Q) Я не могу понять, если мы создадим объект arraylist с помощью вышеупомянутого конструктора, каким будет внутренний поток?

Q) Если мы создадим объект arraylist с помощью этого конструктора, поместим ли мы один список arraylist в другой список arraylist по определенному индексу? Действительно запутываешься в этом?

Комментарии:

1. если кто-нибудь сможет объяснить мне поток в схематическом представлении, это поможет мне лучше понять. Пожалуйста, дайте мне полную ясность по этому поводу.

2. Содержимое коллекции копируется в новый список.

3. что вы подразумеваете под содержанием коллекции?

4. Что вы понимаете под коллекцией?

5. Ну, для бывших. если я создаю список ArrayList как: ArrayList<Целое число> al = новый список ArrayList<Целое число><Целое число>(); . Хорошо, если я создам другой список ArrayList как : ArrayList<Целое число><Целое число> al1 = новый список ArrayList<Целое число><Целое число>(al); .Таким образом, это означает содержимое коллекции. Верны ли мои предположения?

Ответ №1:

Вы, вероятно, привыкли к таким языкам, как Javascript, C или Scala, где вы можете объявлять и заполнять коллекцию литеральными элементами в одной строке. Платформа коллекций Java не имеет этой функции (хотя такие платформы, как Guava, могут заполнить пробел).

 List< Integer > liFoo = new ArrayList<>();
liFoo.add( 6 ); // liFoo contains one element
liFoo.add( -499 ); // liFoo now contains two elements

List< Integer > liBar = new ArrayList<>( liFoo );
// liBar contains the same two elements as liFoo, in a new list
 

Комментарии:

1. Спасибо @Judge Mental за то, что дали мне столько ясности по этому поводу. Получила полную Ясность.