-3

ArrayList で並べ替えを行う方法がわかりません。病歴の配列リストで日付を並べ替えるサンプル コードがあります。

  ........
  private List<MedicalHistory> sortByDate(List<MedicalHistory> data) {
    for (int i = 0; i < data.size(); i++) {
        for (int j = i; j < data.size(); j++) {
            if (data.get(i).getDate().compareTo(data.get(j).getDate()) > 0) {
                MedicalHistory m = data.get(j);
                data.set(j , data.get(i));
                data.set(i, m);
               .......

まず第一に、私は j が何を意味するのか分かりません。第二に、最後の data.set は何を表していますか? 誰かがそのロジックフローを説明できますか? ありがとうございました!

4

2 に答える 2

0

並べ替えには Collections.sort(data) を使用できます。

于 2013-10-19T15:28:24.063 に答える
-1

j とはどういう意味ですか?

jはイテレータです。現在どの要素が処理されているかを「知る」のに役立ちます。

最後の data.set は何の略ですか?

特定の場所でArrayListにdata.set()新しい値を設定してdataいるため、ソート順に従って情報が保持されます。
3行:

    MedicalHistory m = data.get(j);
    data.set(j , data.get(i));
    data.set(i, m);

基本的に、 index の ArrayListiのデータを index のデータと交換していますj


補足として、Collections.sort()を使用してArrayList.

于 2013-10-19T15:31:01.623 に答える