在没有null的java中连接两个列表

时间:2014-03-15 19:55:22

标签: java arrays list

我有两个列表,他们是汽车类型。

汽车类有4个字符串变量:

    color;
 model;

//第二次

color;
model; 

现在我想加入这两个列表,而不是任何null cuz第一个列表:

color="red";
model=null;

第二个清单;

color=null
model="2010"

所以我希望他们像:

color="red";
model="2010" 

没有空

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么你想创建一个List<Car>,它从一个列表中获取颜色,从另一个列表中获取模型。为此,只需创建新的Car并将其添加到新的List

List<Car> newlist = new ArrayList<Car>();
for( int i = 0; i < list1.size() && i < list2.size(); ++i )
    newlist.Add( new Car( list1.get(i).getColor(), list2.get(i).getModel() ) );

但是,如果您不知道每辆车的哪个列表包含null,则必须进行一些检查:

for( int i = 0; i < list1.size() && i < list2.size(); ++i )
{
    String color = list1.get(i).getColor();
    if( color == null )
        color = list2.get(i).getColor();

    String model = list1.get(i).getModel();
    if( model == null )
        model = list2.get(i).getModel();

    newlist.Add( new Car( color, model ) );
}

注意:我假设Car有一个共同的界面,即:

class Car
{
    public String getModel(){ return model; }
    public String getColor(){ return color; }
    public Car( String c, String m )
    {
        color = c;
        model = m;
    }
}