Java 添加列表元素

Java 添加列表元素,java,algorithm,list,Java,Algorithm,List,我有两份清单,其中包括: 结果列表:空 List2:{1,2,3,4,5,6,7等} 结果列表如下: 结果列表:{1,2,3,4,5,6,7等} List2:{2,1,3,4,6,2,1等} 然后,结果列表是: 结果列表:{3,3,6,8,11,8,8等} 正如您所看到的,列表只是一个元素一个元素地添加 我试图通过以下方式实现它: ArrayList<Double> tempList = new ArrayList<Double>(); for (int l = 0; l

我有两份清单,其中包括:

结果列表:空

List2:{1,2,3,4,5,6,7等}

结果列表如下:

结果列表:{1,2,3,4,5,6,7等}

List2:{2,1,3,4,6,2,1等}

然后,
结果列表是:

结果列表:{3,3,6,8,11,8,8等}

正如您所看到的,列表只是一个元素一个元素地添加

我试图通过以下方式实现它:

ArrayList<Double> tempList = new ArrayList<Double>();
for (int l = 0; l < entries.length; l++) {
    double result = resultList.get(l) + valueList.get(l);
    tempList.add(result);
    if(resultlist == null)  {
        resultList = templist;
    }
}
ArrayList tempList=new ArrayList();
for(int l=0;l
但是,这在java中似乎不起作用


我感谢你的回答

由于错误,您的结果在
模板列表中
不在
结果列表中

缺陷 检查
resultlist
是否为
null
没有意义

double result = resultList.get(l) + valueList.get(l); // resultList is not null
tempList.add(result);
if(resultlist == null)  { // this is not needed, this is always not null
    resultList = templist; // never executed
}
解决方案
最好从空列表开始,而不是从空值开始。我认为这样你的代码就可以工作了

你可以用这样的东西

if(resultList == null)
{
resultList = new ArrayList<Double>();
}
ArrayList<Double> tempList = new ArrayList<Double>();
for (int l = 0; l < entries.length; l++) {
double result = valueList.get(l);
if(resultList.size()>l)
{
    result += resultList.get(l);
}
    tempList.add(result);
    if(resultlist == null)  {
        resultList = templist;
    }
}
if(resultList==null)
{
结果列表=新的ArrayList();
}
ArrayList tempList=新的ArrayList();
for(int l=0;ll)
{
结果+=结果列表.get(l);
}
添加(结果);
if(resultlist==null){
结果列表=模板列表;
}
}

如果resultList为空,则仅设置它。但若它为null,则在计算结果时会得到一个NullPointerException。重新考虑一下你的逻辑,再试一次。你说那似乎不起作用是什么意思?你有错误吗?输出是否与您期望的不一样?您确定在
templast
中没有结果吗?谢谢您的回答!还有别的办法吗?还剩3分钟,老兄;别急!顺便说一句,你对可能更好地实现算法有什么建议吗?我在看:)也给我更多的时间:我也会对可能的解决方案感兴趣!
 [3, 3, 6, 8, 11, 8]
if(resultList == null)
{
resultList = new ArrayList<Double>();
}
ArrayList<Double> tempList = new ArrayList<Double>();
for (int l = 0; l < entries.length; l++) {
double result = valueList.get(l);
if(resultList.size()>l)
{
    result += resultList.get(l);
}
    tempList.add(result);
    if(resultlist == null)  {
        resultList = templist;
    }
}