だから私は Set にたくさんのレコードを含むプログラムを持っています。セットには数個のアイテムが含まれる場合もあれば、数十万個のアイテムが含まれる場合もあります。各レコードが持つ 1 ビットのデータはタイムスタンプです。セット内のすべてのアイテムを削除する必要がありますが、互いに 15 秒以内にあるアイテムは 1 つだけです。それを行う最も効率的な方法は何ですか?
現在、セットの複製を作成しています。次に、最初のアイテムを他のすべてのアイテムと比較してセットを反復処理し、繰り返します。15 秒以内の一致が見つかった場合は、重複セットから削除します。次に、複製セットがファイルに書き出されます。
明らかにこれは機能しますが、これは途方もなく非効率的であることに最終的に気付きました。大きなセットの場合、他の問題が発生していないと仮定すると、これには非常に長い時間がかかるようです。Javaでこれを行うための、より賢く、より速く、より効率的な(または適切な)方法を誰かが提供してくれますか? レコードにはタイムスタンプが含まれているため、それらを並べ替えるとおそらく非常に役立つことに気づきました。ただし、これをすべてプログラム内に収めておきたいので、ソートとコンパレータを調べる必要があると思います。
問題に頭を悩ませることはできません。私は自分のコードを改善するためにいくつかの他の考えを思いつきましたが、私はまだ完全に間違っていると感じずにはいられません。提案をありがとう。
ああ、これは仕事のためであり、学校などではありません。