0

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

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);
                }

但是如果此列表之一为空,则此解决方案不会保护我。如何实现简单的代码来检查哪个列表包含最多的元素?

4

3 回答 3

0

亲爱的 就像从 10 个数字中找出最大值一样。这是从 Array 中找出最大值的逻辑

我知道您没有数组,但您可以使用您拥有的不同 ArrayList 的大小创建它,您还可以在添加时检查 NULL 值。

于 2013-04-03T09:35:34.133 回答
0

您可以创建一个具有 10 个 int 类型元素的数组,然后您可以用 0 初始化每个条目。每个条目代表一个列表的大小,因此您可以检查 lis != null 是否,然后将 list.size 放入相应的入口。例如:

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

然后您可以轻松检查最大尺寸。list[i] 表示 listOfBIO、listOfHBD 等。您可以为每个列表复制 if 子句(只需输入真实姓名),或者将所有列表放入一个数组中,这样您就可以迭代它们。

于 2013-04-03T09:36:16.327 回答
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;
        }
   }
于 2013-04-03T09:57:06.287 回答