0

質問があります。どのリストが最大で、最も多くの要素を持っているかを確認するにはどうすればよいですか。10 個のリストがありますが、そのうちのいくつかは null である可能性があります。どのリストが最大であるかを確認し、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);
                }

ただし、このリストのいずれかが null の場合、このソリューションは私を保護しません。どのリストに最も多くの要素があるかを確認する簡単なコードを実装するにはどうすればよいですか?

4

3 に答える 3

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 に答える
0

10個の数字から最大値を見つけるのと同じです。Array から最大値を見つけるロジックは次のとおりです。

配列がないことはわかっていますが、持っている別の ArrayList のサイズで作成できます。追加中に NULL 値を確認することもできます。

于 2013-04-03T09:35:34.133 に答える
0

int 型の 10 個の要素を持つ配列を作成し、すべてのエントリを 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 に答える