Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 构建ArrayList<&燃气轮机;从列表中<&燃气轮机;_Java_List_Arraylist - Fatal编程技术网

Java 构建ArrayList<&燃气轮机;从列表中<&燃气轮机;

Java 构建ArrayList<&燃气轮机;从列表中<&燃气轮机;,java,list,arraylist,Java,List,Arraylist,从列表构建阵列列表的最佳方法是什么 举个例子就好了 还有一个问题,我是否应该继续使用列表,而不是将所有列表转换为数组列表 编辑 为了确定我的代码:这能工作吗: public List<Rendezvous> getAllNewlyDoneRdvs() { if (!isThereNewlyDoneRdvs())return null; List<Rendezvous> rdvs = rdvDao.findAllByState(Constan

列表
构建
阵列列表
的最佳方法是什么

举个例子就好了

还有一个问题,我是否应该继续使用
列表
,而不是将所有
列表
转换为
数组列表

编辑

为了确定我的代码:这能工作吗:

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;
    }
公共列表getAllNewlyDoneRdvs(){ 如果(!isThereNewlyDoneRdvs())返回null; List rdvs=rdvDao.findAllByState(Constants.rdvStateUndone); ArrayList rendezvousList=新建ArrayList(); 用于(集合rdv:rdv){ if(rdv.getDateRdv().before(Constants.getCurrentDatetime()))rendezvousList.add(rdv); } rdvs=集合列表; 返回RDV; }
假设两种类型相同

List
可能已经是一个
ArrayList
,在这种情况下,只需更改引用即可
如果不迭代并添加

如果您想确保有一个ArrayList可以使用,您只需执行新建ArrayList(existingList)


执行此操作的最佳原因可能是您希望在不影响原始列表的情况下添加、更新或删除列表中的项目。

在声明时使用列表是一种很好的做法

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

您可以使用Collections.list(),如图所示

您应该知道list是一个接口,ArrayList是一个具体的类,所以您应该始终使用

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

如果有一种方法使用
列表
参数,您可能会被发现,因为
列表
的某些实现(即使在标准库中)是不可变的或大小固定的。 在这种情况下,如果您需要一个可变列表,那么创建一个
ArrayList
是完全合理的,它的内容与您现有的不确定实现
list

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

这表明您正在先比较日期,然后准备新列表


这绝对好。但是在这种情况下,DAO本身应该有另一个方法,它返回当前日期之前有DateRdv的集合列表。

检查这个问题:这取决于您如何处理
列表。如果您只是通过迭代来访问它,那么基本类
List
应该足够了。相关:注意ArrayList是一个列表。由于列表是一个集合,您可以使用
new ArrayList(someList)
创建列表的副本作为ArrayList。啊,这样我就可以构建一个
ArrayList
,填充它,然后最后做一个
列表
引用,影响我的arraylist并返回它?(因为我的方法返回
列表
)是
列表
是一个接口,它可以是
arraylist
我更喜欢集合=新arraylist();因为集合为您提供了更广泛的集合和树选项。@JigarJoshi是我的代码(在编辑中)是正确的,只是为了确保这不是我选择的方法,我搜索列表及其状态(完成或未完成,我需要它用于我的应用;)