2013-04-03 33 views
0

我有问题。我如何检查哪个列表最大,并且元素最多。我有10个列表,但其中一些可能为空。我如何检查哪个列表最大并且保护null? 这是我有:检查哪个列表是最大的

if(listOfPressureDataToPlot!=null &&listOfPressureDataToPlot.size()>=listOfDBPDataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfSBPDataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfTempDataToPlot.size()&& 
         listOfPressureDataToPlot.size()>=listOfBIODataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfCENDataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfGLUDataToPlot.size()&& 
         listOfPressureDataToPlot.size()>=listOfHBDDataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfOBBDataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfOBGDataToPlot.size()&& 
         listOfPressureDataToPlot.size()>=listOfOBKDataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfRANDataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfTALDataToPlot.size()&& 
         listOfPressureDataToPlot.size()>=listOfWAGDataToPlot.size()&& listOfPressureDataToPlot.size()>=listOfWZRDataToPlot.size()){ 
        dateValue = checkDateToPopUp(listOfPressureDataToPlot, listOfPressureToPlot, x1).getFirst(); 
        setMexTable(listOfPressureDataToPlot); 
       } 

但这种方法并不能保护我,如果这个列表中的一个为空。我怎样才能实现简单的代码来检查哪个列表中的元素最多?

回答

0

你可以把所有的名单到另一个ArrayList和遍历他们像这样:

ArrayList maxList = null; 

    ArrayList aLists = new ArrayList(); 
    aLists.add(listOfOBKDataToPlot); 
    aLists.add(listOfRANDataToPlot); 
    aLists.add(listOfTALDataToPlot); 
    aLists.add(listOfWZRDataToPlot); 

    for (Object object : aLists) 
    { 
     ArrayList aList = (ArrayList) object; 
     if (aList != null && aList.size() > maxList.size()) 
     { 
      maxList = aList; 
     } 
    } 
0

亲爱的它同样喜欢从10个数字中找出最大值。这里是logic of finding out maximum from Array

我知道你没有数组,但你可以创建它与你有不同的ArrayList的大小,你也可以在添加时检查NULL值。

0

你可以用一个int类型的10个元素来创建一个数组,然后你可以用0初始化每个条目。每个条目代表一个List的大小,所以你可以检查一下,如果lis!= null,然后放置列表。大小在相应的条目中。例如:

int sizes[] = new int[10]; 
if (list[i] != null) sizes[i] = list[i].size() 

然后,您可以轻松地检查最大尺寸。 list [i]表示listOfBIO,listOfHBD等。 Yould可以复制每个列表的if子句(只需输入真实姓名), 或将所有列表放在Array中,以便可以迭代它们。