私は学校プロジェクトをやっているので、使用量(降順)で配列を印刷する必要があります。問題は、5つの配列を1つに結合し、forループの内部に情報を集める必要があるため、コード内で配列を宣言しなければならないということです。2d文字列を列で並べ替え
だから私のコードは次のようなものです:
⇩
Entry | Amount | Category | Payment | Date
String array[][]={ {"5", "22,2", "car payment", "visa", "21/04/2016"},
{"1", "44,4", "shop", "cash", "16/02/2017"},
{"2", "33,1", "shop", "cash", "15/01/2020"},
{"3", "17,3", "gym", "visa", "10/01/2016"},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}, };
だから私はComparator
を使用してArrays.sort()
を使用してみましたが、私は、私は常に取得java.lang.NullPointerException
内のこれらのヌルを得たので、私は右のそれを得るように見えることはできません。
私が試したことはこれです:
Arrays.sort(array, (String[] o1, String[] o2) -> Float.compare(Float.parseFloat(o2[1]),
Float.parseFloat(o1[1])));
そして、何私が取得しようとしていることである:
{"1", "44,4", "shop", "cash", "16/02/2017"},
{"2", "33,1", "shop", "cash", "15/01/2020"},
{"5", "22,2", "car payment", "visa", "21/04/2016"},
{"3", "17,3", "gym", "visa", "10/01/2016"}};
すべてのヘルプは非常にいただければ幸いです。ありがとうございました!
私は問題を賭けはあなたのコンパレータのコードです。たとえば、 'Entry'で配列をソートしている場合は、常にヌル以外のものの後ろに来るエントリ' null'を選択することができます。 –
ご理解いただけないことをお詫び申し上げます。私はその質問を編集しました。 –
また、無効であると思われる文字列配列は常に_filter_できます。そうすることで、(並べ替えで)気にするフィールドにnull以外の値が設定されます。 –