は、私は次のように、私は学生の3つの列内のデータを持っている奇妙な問題を抱えている設定は、ソート地図を使用せずにペアでリストまたは
Student InitDAte FinDate
ABC 2/2/2016 5/5/2017
ABC 3/2/2016 3/30/2017
CED 1/1/2015 3/12/2017
LEF 1/12/2016 11/17/2017
CED 1/12/1999 12/23/207
LEF 2/13/2000 11/19/2017
私の目標は、最低のすべての学生のInitDAte
と最高を見つけることです同じ学生のFinDate
すべてのデータは文字列として格納されるので、最初に日付を解析するためにDateFormat
を使って行った日付を解析する必要があります。
当初、私はStudent
、InitDAte
および他のペアStudent
、FinDate
としてペアにデータを格納しようとした、そして私は、キーとして日付でHashMap
にデータを格納しようとしたが、問題はそれだけのユニークなデータを格納しますし、 2人の生徒が同じ初期日付を持つ場合、それらのうちの1つだけがハッシュマップに格納されます。
List
を使用することに決めたので、私はSet
とMaps
を使用してデータを保存することができないことに気付きました。
String
のタイプのリストとDate
のその他の2つのリストの3つのリストが作成されているため、重複したデータを格納できます。 すべての生徒の名前を1つのリストに保存し、他の2つのリストに日付を付けました。
私が今やりたいことは、InitDAte
とFinDate
も生徒別にソートされています。
ハッシュマップの場合のように、他のリストに基づいて1つのリストをソートする方法はありますか?
をなぜあなたは '文字列NAME'が含まクラス' Student'を、作成ドント。各「学生」は、リストのinitDateとリストのfinDateを保持することができます。次に、あなたはいくつかの接続されていない 'List'のものではなく、単一のクラスですべてを実行することができます –
SomeJavaGuy
あなたはこの[質問](http://stackoverflow.com/questions/21678430/group-a) -list-of-object-by-an-attribute-java)を参照してください。 –