s の2 次元配列にデータがありますObject
。重複データを結合するアルゴリズムを探していますが、私のアルゴリズムは重複データを失います。また、すべての行を一番上に保持するため、私のデータは次のとおりです。
ECE 201 電気およびコンピュータ工学 I 2.6666666666666665
BIO 101 生物学 I 2.0
CS 101 コンピュータサイエンス I 3.5
AE 101 航空宇宙工学 I 2.5
BE 101 生物医学工学 I 2.0
CS 101 コンピュータサイエンス I 2.0
CS 102 コンピュータ サイエンス II 3.0
BE 100 イントロ バイオメディカル エンジニアリング 3.6
ECE 200 イントロ電気およびコンピュータ工学 3.5
BIO 100 イントロ生物学 2.2
CS 101 コンピュータサイエンス I 3.75
AE 101 航空宇宙工学 I 1.6666666666666667
BE 100 イントロ バイオメディカル エンジニアリング 1.2
しかし、それはsで満たされていnull
ます。次のアルゴリズムを使用します。
for (int i = 0; i< finalData.length; i++)
{
if (finalData[i][1] != null)
{
String first = (String)finalData[i][1];
for (int j = i; j< finalData.length; j++)
{
if (finalData[j][1]!= null)
{
String second = (String)finalData[j][1];
if (first.equals(second))
{
double one = (double)finalData[i][6];
double two = (double)finalData[i][6];
finalData[i][7] = (one + two)/2;
System.out.println("found!\t" + first + "\t" + second + "\t" + finalData[i][7]);
}
}
}
}
}
私のデータは次のようになります。
見つかった!ECE 201 ECE 201 2.6666666666666665
見つかった!バイオ 101 バイオ 101 2.0
見つかった!CS101 CS101 3.5
見つかった!CS101 CS101 3.5
見つかった!CS101 CS101 3.5
見つかった!AE101 AE101 2.5
見つかった!AE101 AE101 2.5
見つかった!ビー101 ビー101 2.0
見つかった!CS 101 CS 101 2.0
見つかった!CS 101 CS 101 2.0
見つかった!CS 102 CS 102 3.0
見つかった!BE 100 BE 100 3.6
見つかった!BE 100 BE 100 3.6
見つかった!ECE200 ECE200 3.5
見つかった!バイオ 100 バイオ 100 2.2
見つかった!CS101 CS101 3.75
見つかった!AE 101 AE 101 1.6666666666666667
見つかった!BE 100 BE 100 1.2
//発見!それが正しい出力であることを確認するためだけです。
このアルゴリズムを改善して、望ましい結果を得るにはどうすればよいですか?