文字列として数値 L1 のリストがあります (例: "2443")。そのような別のリスト L2 があります。L1 の各数値を L2 の数値と比較する必要があります。L1 には約 20,000 の数字があります (多くは繰り返されます)。L2 には約 600 の番号があり、すべてが一意です。
L1 と L2 を他の形式で取得できません。
比較するのに最適な方法を知りたい -
- すべての数値を Long.parseLong() で Long に変換してから比較しますか?
- 文字列として比較しますか?
どちらがより効率的でしょうか? 1では文字列を解析する必要があるため、ほぼ同じであると思われます。それはオーバーヘッドです。
編集 -
例を思いつきました。L1 は、タイタニック (ロマンス) を見た Netflix customer_ID のリストです。L2はシュレック(アニメ)を見たcustomer_IDのリストです。L1 の少なくとも 70% がシュレックも視聴している場合は、アニメ映画を推奨します。また、ロマンチックな映画が好きな人は、アニメ映画も好きかもしれないことに注意してください. ばかげた例ですが、意味があると思います。
L1 の要素の数を数えます。これを count と呼びます。次に、L1 の要素が L2 に存在するかどうかを確認します。true の場合、'found' を 1 増やします。found/count を計算します。70% を超える場合は、アニメ映画をロマンス愛好家におすすめします。