You did not specify a signature buildRate, but I assume that you want to pass the index of the elements guestList(before ageRate) first. You can use IntStreamto get indexes, and not to directly manipulate elements:
List<Rate> rateList = IntStream.range(0, guestList.size())
.mapToObj(i -> buildRate(i, ageRate, guestRate, guestList.get(i)))
.collect(Collectors.toList());
source
share