この質問が、StackOverflow に適していると見なされるほど具体的であることを願っています。FAQ を確認しましたが、具体的でプログラミングに関連しているため、これで十分だと思います。
Java で複雑なデータ マイニング アルゴリズム (FP 成長) を実装しています。アルゴリズムの初期段階のいくつかでは、大規模なデータベースをスキャンして、見つかった各項目タイプの現在のカウントを維持する必要があります。Hashbag
これはインターフェイスに完全に適しているようです。Apache Commons で、うまくいくと思われるものを見つけました。
これで、私の HashBag は [itemType, count] エントリ (ペア) でいっぱいになりました。アルゴリズムの後半では、これらのペアに対して多くのリストのような操作を行う必要があります。場合によっては、コレクションを itemType でソートする必要があります。他の場合は、カウントでソートする必要があります。List
これはインターフェイスに完全に適しているようです。
Hasbag を List に変換する必要があるという結論に達しました。それなのにどこか汚く、空間と時間の無駄のように感じる。これを行うためのよりスマートな方法はありますか?それとも、コレクションを異なる時間に異なる方法で処理する必要があり、変換が必要悪であるというプログラミングの問題が発生するのは一般的な状況ですか?
1 つの選択肢は、真にリストである独自のインターフェイスを作成することですが、「バッグ スタイル」の追加が可能です。何かを追加するたびに、リストをソートしたままにし、カスタム コンパレータを使用してバイナリ検索を実行する必要がありました。そのコレクションの構築は、おそらく Hashbag の構築よりも時間がかかりますが、最後の変換ステップを省略できます。どちらが好ましいかについて何か考えはありますか?
ありがとう!