0

配列内の要素を検索するためにどのような方法を使用すればよいのか、戻り値を格納するデータ構造は何なのか疑問に思っています

たとえば、txt ファイルには次の内容が含まれます。

123 Name line Moon night table
124 Laugh Cry Dog
123 quote line make pet table
127 line array hello table

検索要素はline + tableです。すべての行を文字列として読み取り、スペースでこぼれます

出力は次のようになります

123 2 (検索要素を含む ID 123 が 2 回発生)
127 1

配列内の要素を検索する方法と、戻り値を格納するデータ構造の種類 (ID と出現回数。ハッシュマップを考えています)

4

2 に答える 2

0

まず、ファイルを 1 行ずつ読み続けますが、それ以外に方法はありません。

次に、保存する行を選択するために、分割を行う必要はありません (仮定: それらはすべて (スペース) テーブルで終わります)。以下を使用して取得できます。

if (line.endsWith(" table"))

次に、Map<String, Integer>データ型を使用して情報を保存することをお勧めします。このようにして、テーブルの数 (キー) と、ファイル内で見つかった回数 (値) を取得します。

Map<String, Integer> map = new HashMap<String, Integer>();
....reading file....
if (line.endsWith(" table")) {
    String number = line.substring(0, line.indexOf(" "))
    if (!map.containsKey(number)) {
        map.put(number, 1);
    } else {
        Integer value = map.get(number);
        value++;
        map.put(number, value);
    }
} 
于 2012-12-06T22:25:06.507 に答える
0

テキスト ファイルを読み取り、 table で終わる各行を に保存しますArrayList<String>。次に、 の各要素に contains を使用しますArrayList<String>。結果をHashMap<key,value>格納します。キーは ID、値は ID の出現回数を表す整数です。

于 2012-12-06T22:20:28.893 に答える