0

ユーザー入力に基づいて、配列リストである検索結果を表示するアプリケーションを作成しています。この結果は、アルファベットの「A」で始まるすべての要素がタイトルAの下にあり、「B」で始まるすべての要素がタイルBの下にあるように、結果がアルファベットのインデックスで区切られている順序で表示する必要があります。 ..

各要素の最初の文字を取得してアルファベットと比較することに成功しましたが、ログのように感じます。要素を直接取得できるように、誰かが私に直接的な方法を提案できますか?

よろしくお願いします、ティム

4

3 に答える 3

1

表示のみの要件の場合は、A を指定するArrayList<Set<Title>>場所ArrayList.get(0)があり、セットにはすべてのタイトルが含まれます。

O(1) アクセスが必要な場合 (リスト構造を表示したくない場合) は、MultiMap (マップ内のマップ) get('A').get('MY TITLE') を使用すると、すぐに値が返されます。

于 2012-07-31T10:36:33.093 に答える
0

正規表現を使用できます

^A*\W$A で始まる文字列のリストを取得するため

于 2012-07-31T10:33:30.640 に答える
0

すべてを比較しないでください。検索項目をインデックスとして使用するだけです。一定の検索時間。検索項目を一意の数値に変換するインデックス機能が必要です。例えば:

lets find "data" word in your list.

d=4, a=1, t=20:

data----->4 + 1*4 + 20*(1+4) + 1*(20+1+4)  just made up this. 
于 2012-07-31T10:29:26.027 に答える