イベントのログ ファイルがいくつかあります (1 行に 1 つのイベント)。ログが重複する可能性があります。ログは、おそらく複数のタイム ゾーンから別のクライアント マシンで生成されます (ただし、タイム ゾーンはわかっていると思います)。各イベントには、共通の時刻に正規化されたタイムスタンプがあります (ログ ファイルに適したタイムゾーンで各ログ パーサーのカレンダー インスタンスをインスタンス化し、getTimeInMillis を使用して UTC 時刻を取得することにより)。ログはすでにタイムスタンプでソートされています。複数のイベントが同時に発生する可能性がありますが、それらは決して同等のイベントではありません。
これらのファイルは、1 つのログに 500000 以上のイベントが含まれるなど、比較的大きくなる可能性があるため、ログの内容全体を単純な Event[] に読み込むことはできません。
私がやろうとしているのは、各ログのイベントを単一のログにマージすることです。これはマージソート タスクのようなものですが、各ログは既にソートされているので、それらをまとめる必要があります。2 番目のコンポーネントは、同じイベントが個別のログ ファイルのそれぞれで目撃される可能性があり、ファイル出力ログで「重複したイベントを削除」したいということです。
これは、各ログ ファイルのいくつかの小さなバッファーを順次処理するように、「その場で」実行できますか? すべてのファイルを Event[] に読み込み、リストを並べ替え、重複を削除することはできませんが、これまでのところ、プログラミング能力が限られているため、これを解決策と見なすことしかできません。各ログから同時にイベントを読み取るときに、これを行うために使用できるより洗練されたアプローチはありますか?