Преобразуйте набор для списка [копируют]

Этот вопрос уже имеет ответ здесь:

Я хотел бы спросить: как Вы преобразовываете a Collection к a List в Java?

46
задан carlspring 19 April 2013 в 16:06
поделиться

5 ответов

Если вы уже создали экземпляр вашего подтипа List (например, ArrayList, LinkedList), вы можете использовать метод addAll.

например,

l.addAll(myCollection)

Многие подтипы списка также могут принимать исходную коллекцию в своем конструкторе.

52
ответ дан 26 November 2019 в 20:11
поделиться

вы можете использовать любое из двух решений .. но подумайте, нужно ли клонировать ваши коллекции, поскольку обе коллекции будут содержать одни и те же ссылки на объекты

0
ответ дан 26 November 2019 в 20:11
поделиться

Collection и List являются интерфейсами. Вы можете взять любую реализацию интерфейса List: ArrayList LinkedList и просто вернуть его обратно в Collection, потому что он находится в верхней части

Пример ниже показывает приведение из ArrayList

public static void main (String args[]) {
    Collection c = getCollection();
    List myList = (ArrayList) c;
}

public static Collection getCollection()
{
    Collection c = new ArrayList();
    c.add("Apple");
    c.add("Oranges");
    return c;
}
-3
ответ дан 26 November 2019 в 20:11
поделиться
Collection<MyObjectType> myCollection = ...;
List<MyObjectType> list = new ArrayList<MyObjectType>(myCollection);

См. След Коллекции в Руководствах по Java .

62
ответ дан 26 November 2019 в 20:11
поделиться

Создайте новый список и вызовите addAll с Коллекцией.

2
ответ дан 26 November 2019 в 20:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: