我有一个HashMap,我想用HashMap的键填充一个下拉列表。 HashMap类型为:HashMap<String, ArrayList<String>>
例如,HashMap数据是:
{A=[Ananas, Apple, Avocado], B=[Banana, Blueberries], C=[Cherries]}
那么我想要一个只有A
,B
和C
的下拉列表。
我尝试了两种方法,但在这两种情况下,我都会在下拉列表中获得多个键。例如A, B, C, B, C
。有人能解释我为什么吗?
我试过的两种方式:
for (String key : FruitMap.keySet()) {
Dropdown.addItem(key);
}
和
for (Map.Entry<String, ArrayList<String>> entry : FruitMap.entrySet()){
String key = entry.getKey();
Dropdown.addItem(key);
}
答案 0 :(得分:1)
你提到的两种方式是正确的,但是,我会补充说:
Dropdown.removeAllItems();
在循环之前。
答案 1 :(得分:0)
我是这样做的:
DefaultComboBoxModel dcm = new DefaultComboBoxModel(new Vector<>(Map.keySet()));
Combo = new JComboBox(dcm);
这也对我有用:
DefaultComboBoxModel dcm = new DefaultComboBoxModel();
dcm.addAll(Map.keySet());
ComboBox = new JComboBox(dcm);