1

私の Android アプリケーションでは、1 語の文字列、2 語の文字列、3 語の文字列の 3 つのカテゴリに分類される多数の文字列が使用されています。これら 3 つの文字列リストをすばやく検索して、特定のキーに一致するものを探し、これらの文字列に関連付けられた 3 番目の値を返せるようにする必要があります。

たとえば、キーを探していて"New York"、リストが次の場合:

New York, test1
New Jersey, test2
Colorado, test3
Arkansas, test4
New York, test5

検索すると、次の文字列が返されます。test1 and test5

これらの文字列を格納する最良の方法は、Android フォンで一致を検索するのが最も速い方法ですか?

これまでに考えたオプションは、データベース、xml、csv でした。他に選択肢はありますか? この状況に最適な選択肢は何ですか?

編集:アイテムの順序を保持して、リスト上で上下に移動できるようにしたい場合は、ハッシュマップが順序付けられていないことを知っています。配列リストは機能しますか?

4

3 に答える 3

1

キーと値のリストの間のマップとしてそれらを保存し、Android 内に組み込まれた SQLLite データベースを使用して永続的に永続化しないのはなぜですか?

したがって、基本的に、リストの代わりに、次のようになります。

New York: [test1, test5]
New Jersey: test2
Colorado: test3
Arkansas: test4

ニューヨークをユニークに保つことで、はるかに早く結果を得ることができます。従来の DB の意味では、これは値への外部キーになります。

于 2012-11-27T16:44:54.057 に答える
1

最良かつ最速の方法は、データベースを使用することです。SQLite を使用して、データベースにデータを保存および検索します。

参照: http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

于 2012-11-27T16:45:15.293 に答える
1

,ファイルを解析し、区切り記号として使用して各行を分割します。ハッシュ テーブル ( の実装の 1 つjava.util.Map) を作成し、そこに解析結果を配置します。これNew Yorkはキーでありtest1test5などはリストに格納されている値です。

Map<String, Collection<String>> map = new HashMap<>();

これで、このテーブルに直接アクセスできるようになり、いつでも任意の都市のマッピングを見つけることができます.

于 2012-11-27T16:46:11.583 に答える