Лямбда Выражение Java 8
В Java 1.8 (Java 8) это стало намного проще благодаря использованию метода forEach из совокупных операций ( потоковые операции ), который похож на итераторы из Iterable Интерфейс.
Просто скопируйте оператор вставки ниже в свой код и переименуйте переменную HashMap из hm в переменную HashMap, чтобы распечатать пару ключ-значение.
HashMap<Integer,Integer> hm = new HashMap<Integer, Integer>();
/*
* Logic to put the Key,Value pair in your HashMap hm
*/
// Print the key value pair in one line.
hm.forEach((k, v) -> System.out.println("key: " + k + " value:" + v));
// Just copy and paste above line to your code.
Ниже приведен пример кода, который я пытался использовать Лямбда-выражение . Это так круто. Надо попробовать.
HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>();
Random rand = new Random(47);
int i = 0;
while(i < 5) {
i++;
int key = rand.nextInt(20);
int value = rand.nextInt(50);
System.out.println("Inserting key: " + key + " Value: " + value);
Integer imap = hm.put(key, value);
if( imap == null) {
System.out.println("Inserted");
} else {
System.out.println("Replaced with " + imap);
}
}
hm.forEach((k, v) -> System.out.println("key: " + k + " value:" + v));
Output:
Inserting key: 18 Value: 5
Inserted
Inserting key: 13 Value: 11
Inserted
Inserting key: 1 Value: 29
Inserted
Inserting key: 8 Value: 0
Inserted
Inserting key: 2 Value: 7
Inserted
key: 1 value:29
key: 18 value:5
key: 2 value:7
key: 8 value:0
key: 13 value:11
Также можно использовать Spliterator для того же.
Spliterator sit = hm.entrySet().spliterator();
UPDATE
Включая ссылки на документацию по Oracle Docs.
Для получения дополнительной информации по Lambda перейдите по этой ссылке и должны прочитать Совокупные операции , а для Spliterator перейдите по этой ссылке .