2014-09-02 4 views
0

Каков наилучший способ построения ArrayList<> от List<>?Создайте список массивов <> из списка <>

Пример бы здорово

и еще один вопрос, я должен продолжать работать с List<> вместо преобразования все мои Lists в ArrayLists

Редактировать

Просто чтобы быть уверенным в своем коде : возможно ли это:

public List<Rendezvous> getAllNewlyDoneRdvs() { 
     if (!isThereNewlyDoneRdvs())return null; 
     List<Rendezvous> rdvs = rdvDao.findAllByState(Constants.rdvStateUndone); 
     ArrayList<Rendezvous> rendezvousList = new ArrayList<>(); 
     for (Rendezvous rdv :rdvs){ 
      if (rdv.getDateRdv().before(Constants.getCurrentDatetime())) rendezvousList.add(rdv) ; 
     } 
     rdvs = rendezvousList; 
     return rdvs; 
    } 
+0

Задать вопрос: http://stackoverflow.com/questions/2279030/type-list-vs-type-arraylist-in-java – nem035

+1

Это зависит от того, что вы делаете с вашим «списком». Если вы просто обращаетесь к нему, например. итерации по нему, базового класса «Список» должно быть достаточно. –

+0

Связанный: [что-что-то-от-до-программы-к-интерфейсу] (http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an -interface) – Pshemo

ответ

4

as суммируя оба типа же

List<> может быть уже в этом случае в ArrayList<> просто изменить ссылку если не перебирать и добавить

+0

Ах, тогда я могу построить 'ArrayList <>', заполнить его, а затем в конце сделать 'List <>' refernce и повлиять на мой arraylist на него и вернуть его?(так как мои методы возвращают 'List <>') – Aissasa

+3

yes 'List' - это интерфейс, это может быть' ArrayList' –

+0

ok спасибо, я приму этот ответ как можно скорее – Aissasa

3

Если вы хотите быть уверены, что у вас есть ArrayList для работы, вы можете просто сделайте new ArrayList(existingList).

Лучшей причиной для этого может быть то, что вы хотите добавлять, обновлять или удалять элементы из списка, не затрагивая исходный список.

1

Это будет хорошая практика использования List при объявлении.

List<> list = new ArrayList<>(); 
0

Вы можете использовать Collections.list(), как показано here

1

Вы должны знать, что список есть Интерфейсы и ArrayList является конкретным классом, так что вы всегда должны использовать

List<Type> myList = new ArrayList<Type>(); 
0

Вы может быть обнаружен, если у вас есть метод, принимающий параметр , потому что некоторые реализации List (даже в стандартной библиотеке) неизменяемы или имеют фиксированный размер. В этом случае, если вам нужен изменяемый список, это вполне разумно создать ArrayList с тем же содержанием, что и существующая неопределенном-реализации List

ArrayList<T> newArrayList = new ArrayList<T>(oldList); 
0

Это sheems вы сравниваете даты первого, а затем готовит новый список.

Это абсолютно нормально. Но в этом случае у вас должен быть другой метод в самом DAO, который возвращает List of Rendezvous с DateRdv до текущей даты.

+0

ну, это не тот подход, который я выбрал, я ищу список с их состоянием (сделано или еще не сделано, мне нужно, чтобы с целью мое приложение;)) – Aissasa

Смежные вопросы