私は私のものと同様の質問を調べましたが、Java 組み込みデータ構造の制約内で最適なソリューションを探しています。
2 つのプレーン テキスト ファイルがあります。file1 にはユーザー名のリストが含まれていますが、file2 にはそれらのユーザーや他のユーザーからの Twitter 投稿が含まれています。Twitter の投稿は、単純にプレーン テキストとしてファイルに押し込まれます。
ユーザーごとに、投稿が存在する場合、投稿で使用されているすべての個別のハッシュタグを取得する必要があります (ハッシュタグは整数で、各投稿は 1 行に制限されていると仮定します)。
これが私のデータ構造の選択です
Map<String, LinkedHashSet<Integer>> usernames = new HashMap<>();
問題への私のアプローチ
- file1 を読み取ってユーザー名キーを入力し、デフォルト値を null に設定します。
- post = file2.readLine() のように、file2 を順番に読み取ります。
- 投稿内のユーザー名が hashMap キーで見つかった場合、投稿内で検出されたすべてのハッシュタグを値 Set に追加します。
このアプローチと選択されたデータ構造は、100 万人のユーザー (ファイル 1) と 1,000 万の投稿 (ファイル 2) にとって適切なアプローチのように聞こえますか?