返回HashMap的值

时间:2015-03-18 19:23:14

标签: java hash hashmap hashtable

所以我已经能够成功地将对象放入我的哈希映射中,但是我在返回对象时遇到了麻烦。当我为同一个项目使用arrayList时,我只是用以下方法显示它:

public void displayDetails(int currentItem) {   
    accountIDTextField.setText(table.get(currentItem).getAccountID()+"");
    accountNumberTextField.setText(table.get(currentItem).getAccountNumber());
    surnameTextField.setText(table.get(currentItem).getSurname());
    accountTypeTextField.setText(table.get(currentItem).getAccountType());
}

按下“第一个”按钮将转到列表中的数字1。

first.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            currentItem = 1;
            displayDetails(currentItem);            
        }
    });

至于我的哈希,我使用了accountNumber作为键,(使用%modulo函数进行哈希)

向后工作时,当我将accountNumber作为get()方法中的参数传递时,我可以获取accountID。

hashMap.get(12345678).getAccountID();

但是,如果我只想获取存储在哈希映射中的第一个对象(即在不知道accountNumber的情况下获取accountID),如何返回accountID?

(AccountID是特定帐户的唯一整数,将在创建新帐户记录时自动生成)

对不起,如果措辞不好,我仍然试图全面了解Java和OOP。任何帮助将不胜感激。感谢

2 个答案:

答案 0 :(得分:1)

希望我理解你是对的。只获得HashMap的第一项是:

Map<String, String> myhashmap = new HashMap<String, String>();
myhashmap.entrySet().iterator().next();

答案 1 :(得分:0)

您可以使用Map.values()获取Map的内容。 我不会根据地图中的顺序访问该值,因为无法保证订购。你应该给每个人一个定义的数字。然后你可以访问它们:

Object o = map.values().get(id);

得到第一个:

Object o = map.values().get(0);