私はopencsvライブラリを使って処理しているCSVファイルを持っています。だから私は各行で読むことができます。私が行う必要がある特定の変換では、私がJavaファイルの主要部分を実行する前に、まずそのファイルをソートする必要があります。Javaでtxtファイルをソートする最適な方法
私はこれを実行する必要が
5423, blah2, blah
5323, blah3, blah
5423, blah4, blah
5444, blah5, blah
5423, blah6, blah
5323, blah3, blah
5423, blah2, blah
5423, blah4, blah
5423, blah6, blah
5444, blah5, blah
などになる必要があります。..
理由は、私は同じIDを持つすべての行を組み合わせて、新しいファイルに出力しています。
に何か問題:
opencsvライブラリでcsvファイルの各行を読む
この
にソートのいくつかの並べ替えを実行して2次元配列にそれらを追加します。
ソートされた配列をループしてファイルに出力します。
データのソートには他にどのようなアイデアがありますか?
Javaでビットが錆びます。
UPDATE: それは次のようになり、最終的な出力
に明確にする:これは私がやっているのは非常に単純化したバージョンである
5323, blah3, blah
5423, blah2!!blah4!!blah6, blah
5444, blah5, blah
。実際には、JBaseシステムの複数のオプションフィールドに必要です。これは要求されたファイル形式です。
元のファイルには100,000以上の行があります。
これは2回以上実行され、実行される速度は私にとって重要です。
なぜ単なる次元配列ではないのですか? – Peter
@Peter 2番目の次元は行の内容だと思います。しかし、私はそれが行オブジェクトの1次元配列(特にComparatorの実装を見ているとき)と考える方が簡単であることに同意します。 –
コマンドラインでこれを行いますか?あるいはこれをプログラム的にやりたいのですか?また、すべてをメモリに読み込み可能になっていますか?または、これをスケーラブルにして、非常に大きなファイルをサポートしたいですか? – Tom