質問: Javaのソートに関する質問です。 Object型のリスト(ArrayList)に以下のような順番でデータが入っているとします。 0."Sample1"(String型) 1."2012/3/21"(Date型) 2."2017/4/25"(Date型) 3."2015/1/25"(Date型) 4."Sample2"(String型) 5."2019/3/12"(Date型) 6."2016/4/21"(Date型) 7."2014/8/25"(Date型) Date型の箇所だけ (添え字番号の1~3,5~7だけ) 日付の古い順にソートするには どのようにすればよいのでしょうか? 何卒よろしくお願いいたします。 ※追加箇所です------------------- 最終アウトプット Sample1 2012/3/21 2015/1/25 2017/4/25 Sample2 2014/8/25 2016/4/21 2019/3/12 ---
回答: とりあえずアプローチ方法として以下の通りに行うと、想定結果は得られると思います。(効率は度外視ですが...) 1Date型ArrayListを宣言 2Object型ArrayListからDate型のみ取り出し1で用意したArrayListに追加 31の**Collections.sort**メソッドで昇順にソート ソート参考先リンク→Javaちょこっとリファレンス (サンプルはIntegerですがDateも同様です) 4Object型ArrayListのDate型の要素にソート後の1を要素が小さい方から代入し直す