#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 за то, что дали мне столько ясности по этому поводу. Получила полную Ясность.