// use built-in type (Function<T,R>) get values from closure static int collect(Function<Months, Integer> f) { Integer total = 0; for (Months m : Months.values()) { total += f.apply(m); } return total; }
// uses functional interface MothTester to find/filder list. static List<Months> find(MonthPredicate tester) { ArrayList<Months> months = new ArrayList<>(); for (Months m : Months.values()) { if (tester.test(m)) { months.add(m); } } return months; }
public class LambdaStreams { static List<Months> months = Arrays.asList(Months.values()); public static void main(String[] args) { double avgDays = months.stream().mapToInt(m -> m.days).average().getAsDouble(); System.out.println("Average days / moth = " + avgDays); System.out.println(); System.out.println("---- First Half of Year ---"); Stream.of(Months.January, Months.February, Months.March, Months.April, Months.May, Months.June) .forEach(System.out::println); System.out.println(); System.out.println(" ---- Quarter 3 ----"); Arrays.stream(new String[] {"July", "August", "September"}).forEach(System.out::println); } }
// use built-in type (Consumer) to apply closure actions static void doWithMonths(Consumer<Months> action) { for (Months m : Months.values()) { action.accept(m); } }
@RequestMapping(value = "/humanMonth", method = RequestMethod.GET) public String financesMonth(Model model, @RequestParam String t, @RequestParam String op10) { if (model.containsAttribute("user_inicio") == true) { model.addAttribute("tit", t); String r = ((session) model.asMap().get("user_inicio")).getDash_region(); String n = ((session) model.asMap().get("user_inicio")).getDash_nia(); if (!r.equals("Todas")) r = regionService .getRegion(((session) model.asMap().get("user_inicio")).getDash_region()) .get(0) .getDescripcion(); if (!n.equals("Todas")) n = companyService .listCompany__(((session) model.asMap().get("user_inicio")).getDash_nia()) .get(0) .getDescripcion(); ((session) model.asMap().get("user_inicio")).setOp("M"); // Lista model.addAttribute( "valor", humanService.listHumanMonth((session) model.asMap().get("user_inicio"))); model.addAttribute( "navegacion", "Region: " + r + " >> " + "Company: " + n + " >> " + "Currency: " + currencyService .getCurrency(((session) model.asMap().get("user_inicio")).getDash_moneda()) .get(0) .getDescripcion() + " >> " + (((session) model.asMap().get("user_inicio")).getDash_tasa() == "mvevap" ? "Average" : "Month Rate") + " >> Year: " + ((session) model.asMap().get("user_inicio")).getAnio() + " >> Month: " + Months.values()[ Integer.parseInt(((session) model.asMap().get("user_inicio")).getMes()) - 1]); model.addAttribute("regionList", regionService.getListRegion()); model.addAttribute("currencyList", currencyService.listCurrency()); model.addAttribute("op10", op10); model.addAttribute( "companyList", companyService.listCompany( ((session) model.asMap().get("user_inicio")).getDash_region())); model.addAttribute("r3g", ((session) model.asMap().get("user_inicio")).getDash_region()); model.addAttribute("c1a", ((session) model.asMap().get("user_inicio")).getDash_nia()); model.addAttribute("cur", ((session) model.asMap().get("user_inicio")).getDash_moneda()); model.addAttribute("tas", ((session) model.asMap().get("user_inicio")).getDash_tasa()); model.addAttribute("anio", ((session) model.asMap().get("user_inicio")).getAnio()); model.addAttribute("mes", ((session) model.asMap().get("user_inicio")).getMes()); model.addAttribute( "elmes", Months.values()[ Integer.parseInt(((session) model.asMap().get("user_inicio")).getMes()) - 1]); return "human/humanMonth"; } else { return "redirect:/index/ingreso"; } }