Этот вопрос уже имеет ответ здесь:
Я хотел бы спросить: как Вы преобразовываете a Collection
к a List
в Java?
Если вы уже создали экземпляр вашего подтипа List (например, ArrayList, LinkedList), вы можете использовать метод addAll.
например,
l.addAll(myCollection)
Многие подтипы списка также могут принимать исходную коллекцию в своем конструкторе.
вы можете использовать любое из двух решений .. но подумайте, нужно ли клонировать ваши коллекции, поскольку обе коллекции будут содержать одни и те же ссылки на объекты
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;
}
Collection<MyObjectType> myCollection = ...;
List<MyObjectType> list = new ArrayList<MyObjectType>(myCollection);
См. След Коллекции в Руководствах по Java .
Создайте новый список и вызовите addAll
с Коллекцией.