私は現在、内部にあるものに基づいてデータを読み込んで出力する必要がある.txtファイルがあります。私は現在、ファイルを開いてファイルの各行をArrayListに保存しています。文字列の2番目の単語でArrayListをソート
.txtファイルはこのように設定されています。
- 2380213012999 1508434343432ダビデが死ん
- 4327482397488 7439857934858ジョン生き
- 3857948998099 2222783749887マーティン・ケリー 殺さ
- 3857948998099 2222783749887ジョン・デビッド
現在のコード。
{
try {
File file = new File("input.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String line;
ArrayList<String> txtline = new ArrayList<String>();
while ((line = bufferedReader.readLine()) != null) {
txtline.add(line);
System.out.println(txtline);
}
fileReader.close();
System.out.println(stringBuffer.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
第二多数でテキストの各行をソートする方法があれば私は思ったんだけど、私が見てきたと私はちょうど何かを見つけるように見えることはできません。私がこれ以上進歩を遂げる前に、私がこれをやる必要があるので、私が現在困惑しているので、正しい方向の指針またはいくつかの指針はすばらしいでしょう。
一つは、一般的に彼らの自然な順序(含む以外にオブジェクトをソートするために提供するために、 'Comparator'実装を定義します注文)。このような 'Comparator'のインスタンスを' Collections.sort() 'と一緒に使って' List'をソートすることができます。 –
しかし、効率を上げるために、あらかじめソートキーを解析して、目的のために定義したクラスのオブジェクト内の対応する文字列の上にそれらを格納することをお勧めします。そして、それらを並べ替えます。 –