私は を持っており、の各要素LinkedHashMap<String,Object>
の部分を に入れる最も効率的な方法は何だろうと思っていました。String
LinkedHashMap
JList
1996 次
3 に答える
1
jList が元の Map の変更に影響されない場合は、使用した元の方法で問題ありません (追加の同期レイヤーを持つ Vector を使用するよりも優れています)。
マップが変更されたときに jList を変更したい場合は、独自の ListModel を作成する必要があります (それほど難しくありません)。また、マップがいつ変更されるかを知る方法を理解する必要があります。
于 2009-06-04T21:41:01.233 に答える
1
setListData(Vector)メソッドを使用することもできます。
jList1.setListData(new Vector<String>(map.keySet()));
いずれのsetListData
方法でも、実際のデータのコピーを作成しているため、マップへの変更はリストに反映されません。代わりにカスタムListModel
を作成してメソッドに渡すこともできますが、インデックスによってsetModel
任意の要素にアクセスする方法がないためLinkedHashMap
、これはおそらく実行不可能です。
于 2009-06-04T21:50:16.817 に答える
0
質問に答えた直後にこの方法を見つけたので、コミュニティのためにここに投稿すると思いました。これが最も効率的な方法だと思いますが、他の提案も歓迎します。
jList1.setListData(LinkedHashMap.keySet().toArray());
于 2009-06-04T21:15:09.413 に答える