Usando Java8 Streams para crear una lista de objetos de otro

Tengo el siguiente código Java6 y Java8:

List<ObjectType1> lst1 = // a list of ObjectType1 objects
List<ObjectType2> lst2 = // a list of ObjectType1 objects, same size of lst1

List<ObjectType3> lst3 = new ArrayLis<ObjectType3>(lst1.size());
for(int i=0; i < lst1.size(); i++){
  lst3.add(new ObjectType3(lst1.get(i).getAVal(), lst2.get(i).getAnotherVal()));
}

¿Hay alguna manera en Java8 para manejar el anterior de una manera más concisa usando Lambda?

Respuestas a la pregunta(3)

Su respuesta a la pregunta