我有两个列表,他们是汽车类型。
汽车类有4个字符串变量:
color;
model;
//第二次
color;
model;
现在我想加入这两个列表,而不是任何null cuz第一个列表:
color="red";
model=null;
第二个清单;
color=null
model="2010"
所以我希望他们像:
color="red";
model="2010"
没有空
答案 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;
}
}