3

だから、私はさまざまな種類のものの長いリストを調べています。さまざまな種類の食べ物の名前があるとしましょう。リストは次のようになります。

オリーブ
じゃがいも
いちご
じゃがいも
じゃがいも
いちご

各オブジェクト タイプと、そのオブジェクト タイプが出現する回数を保存したいと考えています。さらに、事前にすべてのオブジェクト タイプを列挙することはできません。事前にすべての食べ物がどうなるかわかりません。

出力として次のようなものが必要です。

ポテト (3)
いちご (2)
オリーブ (1)

基本的に、頻度順に並べたオブジェクト タイプのリストです。これに最適なデータ構造は何ですか? 車輪を再発明する必要をなくすために使用できる Java の組み込みクラスはありますか?

4

2 に答える 2

3

使用できますHashMap<K,V>

Map<String,int> map = new HashMap<String,int>();
于 2012-08-13T22:45:55.640 に答える
0

辞書のような構造を使用します。次に、基本的にアルゴリズムは次のようになります。

-Begin Loop
    If current element not a key in dictionary:
        dictionary(element) -> 0 (Dictionary at key 'element' refers to 0)
    Else:
        dictionary(element)++ (increment dictionary at key)

その後、後でキーをループして、その周波数を見つけることができます。

マイケル G.

于 2012-08-13T22:47:22.150 に答える