Pasar funciones nombradas como argumentos

Java 8 agregó expresiones lambda. Usar lambdas de manera similar a las clases anónimas es bastante sencillo, pero me pregunto si existe la funcionalidad relacionada de usar funciones con nombre como argumentos para otras funciones. Por ejemplo, ¿hay una manera Java de escribir el siguiente código de Python:

list1 = (1,2,3)
list2 = (4,5,6)

def add(a, b):
  return a+b

for e in map(add, list1, list2):
  print(e)

salida

5
7
9

Respuestas a la pregunta(4)

Su respuesta a la pregunta