How to get values ​​from a HashMap list?

I have Listof HashMap, which has a type key Integerand a type value Long.

List<HashMap<Integer, Long>> ListofHash = new ArrayList<HashMap<Integer, Long>>();
        for (int i = 0; i < 10; i++) {
            HashMap<Integer, Long> mMap = new HashMap<Integer, Long>();
            mMap.put(Integer.valueOf(i), Long.valueOf(100000000000L+i));
            ListofHash.add(mMap);
        }

Now, how to get the key and value from the list HashMap?

If using a class Collectionis a solution, please let me know.

Update 1:

In fact, I get the value from the database and put it in the HashMap

public static List<Map<Integer, Long>> populateMyHashMapFromDB()
{

List<HashMap<Integer, Long>> ListofHash = new ArrayList<HashMap<Integer, Long>>();

for (int i = 0; i < 10; i++) {
                HashMap<Integer, Long> mMap = new HashMap<Integer, Long>();
                mMap.put(Integer.valueOf(getIntFromDB(i)), Long.valueOf(getLongFromDB(i)));
                ListofHash.add(mMap);
            }
return ListofHash;


}

where getIntFromDB and getLongFromDB can return any int and long values, respectively.

Now I want to get my values ​​that I received from the database, and the keys, and the values

public void getmyDataBaseValues()
{
List<HashMap<Integer,Long>> ListofHash=populateMyHashMapFromDB();

// This is where i got confused

}

ANSWER That's why Peter Lowry suggested

public class HashMaps {


    public static void main(String[] args) {
        // TODO Auto-generated method stub

        testPrintHashmapValues(putToHashMap());
        testPrintHashmapValuesWithList(putToHashMapWithList());
    }

    public static Map<Integer, Long> putToHashMap() {
        Map<Integer, Long> map = new LinkedHashMap<Integer, Long>();
        for (int i = 0; i < 10; i++) {
            map.put(Integer.valueOf(i), Long.valueOf(200000000000L + i));
        }
        return map;
    }

    public static void testPrintHashmapValues(Map<Integer, Long> map) {
        for (Map.Entry<Integer, Long> entry : map.entrySet()) {
            System.out.println("key: " + entry.getKey() + " value: "
                    + entry.getValue());
        }
    }

    public static List<Map<Integer, Long>> putToHashMapWithList() {
        List<Map<Integer, Long>> listOfHash = new ArrayList<Map<Integer, Long>>();
        for (int i = 0; i < 10; i++) {
            Map<Integer, Long> mMap = new HashMap<Integer, Long>();

            mMap.put(Integer.valueOf(i), Long.valueOf(100000000000L + i));
            listOfHash.add(mMap);
        }
        return listOfHash;
    }

    public static void testPrintHashmapValuesWithList(
            List<Map<Integer, Long>> listOfHash) {

        for (int i = 0; i < 10; i++) {
            Map<Integer, Long> map = listOfHash.get(i);
            for (Map.Entry<Integer, Long> entry : map.entrySet()) {
                System.out.println(i + " hashMap");
                System.out.println("key: " + entry.getKey() + " value: "
                        + entry.getValue());
            }
        }
    }

}

My task is completed even without creating a list.

+3
source share
6 answers

, .

public static Map<Integer, Long> populateMyHashMapFromDB() {
    Map<Integer, Long> map = new LinkedHashMap<Integer, Long>();
    for (int i = 0; i < 10; i++) 
            map.put(getIntFromDB(i), getLongFromDB(i));
    return map;
}

Map<Integer, Long> map = populateMyHashMapFromDB();
Long value = map.get(key);

/. , .

, , ,

List<Map<Integer, Long>> maps = new ArrayList<Map<Integer, Long>>();

Map<Integer, Long> all = new HashMap<Integer, Long>();
for(Map<Integer, Long> map: maps)
    all.putAll(map);

for(Map.Entry<Integer, Long> entry: all.entrySet() {
    // do something which each key/value.
}

.

long[] longs = new long[10];
for (int i = 0; i < 10; i++) 
    longs[i] = i;

int key = 1;
int num = longs[key];
+2

, :

public static void main(String[] args) throws NoSuchAlgorithmException {
  List<Map<Integer, Long>> ListofHash = new ArrayList<Map<Integer,Long>>();
  for (int i = 0; i < 10; i++) {
    Map<Integer, Long> mMap = new HashMap<Integer, Long>();
    mMap.put(Integer.valueOf(i), Long.valueOf(100000000000L + i));
    ListofHash.add(mMap);
  }

  for (Map<Integer, Long> map : ListofHash) {
    for (Integer key : map.keySet()) {
      System.out.println(map.get(key));       
    }
  }
}

. , Map HashMap,

+2

, , ArrayList,

ListofHash.get(0).get(Object key);

Integer

!

+2

- :

public static Long getValue(Integer key)) {

    for (HashMap<Integer, Long> entry : ListofHash) {
        if (entry.containsKey(key)) {
            return entry.get(key);
        }
    }

    return null;
}

//Retrieve all key/value
for (HashMap<Integer, Long> entry : ListofHash) {
    for (Integer key : entry.keySet()) {
        System.out.println("Key : " + key + ", value: " + entry.get(key));
    }
}

PS .

+1
List<HashMap<Integer, Long>> ListofHash = new ArrayList<HashMap<Integer, Long>>();
        for (int i = 0; i < 10; i++) {
            HashMap<Integer, Long> mMap = new HashMap<Integer, Long>();
            mMap.put(Integer.valueOf(i), Long.valueOf(100000000000L+i));
            ListofHash.add(mMap);
        }
+1

10 . . , :

public void testPrintHashmapValues()  {
    List<HashMap<Integer, Long>> listOfHash = new ArrayList<HashMap<Integer, Long>>();
    for (int i = 0; i < 10; i++) {
        HashMap<Integer, Long> mMap = new HashMap<Integer, Long>();
        mMap.put(Integer.valueOf(i), Long.valueOf(100000000000L+i));
        listOfHash.add(mMap);
    }

    for (int i = 0; i < 10; i++) {
        Map<Integer, Long> map = listOfHash.get(i);
        for (Map.Entry<Integer, Long> entry : map.entrySet()) {
            System.out.println(i + " hashMap");
            System.out.println("key: " + entry.getKey() + " value: " + entry.getValue());
        }
    }

}

Also, variables should not start with an uppercase ( ListOfHash ). Despite the fact that java does not complain that this is bad practice and it is difficult to read such code, because you might think that this is the name of the class instead of a variable.

+1
source

All Articles