我正在 HashMap 中存储数据并在稍后阶段获取值。
HashMap<String, byte[]> hm = new HashMap<String, byte[]>();
现在,我想在其中存储另外两个值。例如,我想存储如下信息。有人可以告诉我,我该如何修改 Hashmap 来实现这种方式吗?我还需要读取所有这些存储的值,并在后期从中找到一些值。
Key 1
IPAddress
RandomNumber
Byte data
Key 2
IPAddress
RandomNumber
Byte data
谢谢!
最佳答案
您必须创建一个具有以下属性的类:
class MyData{
private String IPAddress;
private long RandomNumber;
private byte[] data;
//getters setters...
}
Map<String, MyData> hm = new HashMap<String, MyData>();
您可以获得的值如下:
MyData dataObj = hm.get("Key 1");
dataObj.getRandomNumber();
或直接
hm.get("Key 1").getData();
hm.get("Key 1").getRandomNumber();
迭代 map :
Iterator it = hm.entrySet().iterator();
while (it.hasNext()) {
Map.Entry myDataEntry = (Map.Entry)it.next();
System.out.println(myDataEntry.getKey() + " = " + myDataEntry.getValue());
it.remove(); // avoids a ConcurrentModificationException
}
关于java - 在 HashMap 中存储多个值并稍后获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21802776/