我有一个HashMap列表,其中包含Integer类型的键和Long类型的值.
List> ListofHash = new ArrayList>();
for (int i = 0; i < 10; i++) {
HashMap mMap = new HashMap();
mMap.put(Integer.valueOf(i), Long.valueOf(100000000000L+i));
ListofHash.add(mMap);
}
现在,如何从HashMap列表中检索键和值?
如果使用Collection类是解决方案,请关注我.
更新1:
实际上我从数据库中获取值并将其放入HashMap
public static List> populateMyHashMapFromDB()
{
List> ListofHash = new ArrayList>();
for (int i = 0; i < 10; i++) {
HashMap mMap = new HashMap();
mMap.put(Integer.valueOf(getIntFromDB(i)), Long.valueOf(getLongFromDB(i)));
ListofHash.add(mMap);
}
return ListofHash;
}
其中getIntFromDB和getLongFromDB可以分别检索任何int和long值.
现在这就是我想要获得我从DB获得的值和键值的地方
public void getmyDataBaseValues()
{
List> ListofHash=populateMyHashMapFromDB();
// This is where i got confused
}
public class HashMaps {
public static void main(String[] args) {
// TODO Auto-generated method stub
testPrintHashmapValues(putToHashMap());
testPrintHashmapValuesWithList(putToHashMapWithList());
}
public static Map putToHashMap() {
Map map = new LinkedHashMap();
for (int i = 0; i < 10; i++) {
map.put(Integer.valueOf(i), Long.valueOf(200000000000L + i));
}
return map;
}
public static void testPrintHashmapValues(Map map) {
for (Map.Entry entry : map.entrySet()) {
System.out.println("key: " + entry.getKey() + " value: "
+ entry.getValue());
}
}
public static List> putToHashMapWithList() {
List> listOfHash = new ArrayList>();
for (int i = 0; i < 10; i++) {
Map mMap = new HashMap();
mMap.put(Integer.valueOf(i), Long.valueOf(100000000000L + i));
listOfHash.add(mMap);
}
return listOfHash;
}
public static void testPrintHashmapValuesWithList(
List> listOfHash) {
for (int i = 0; i < 10; i++) {
Map map = listOfHash.get(i);
for (Map.Entry entry : map.entrySet()) {
System.out.println(i + " hashMap");
System.out.println("key: " + entry.getKey() + " value: "
+ entry.getValue());
}
}
}
}
即使没有创建List,我的任务也完成了.