ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
~~~ public class lambda { // 找到颜色为red的苹果 public static List<Apple> findRedApples(List<Apple> list){ List<Apple> apples = new ArrayList<>(); for (int i=0; i<list.size(); i++){ if ("red".equals(list.get(i).getColor())){ apples.add(list.get(i)); } } return apples; } // 找到指定颜色的苹果 public static List<Apple> findApplesByColor(List<Apple> list, String color){ List<Apple> apples = new ArrayList<>(); for (int i=0; i<list.size(); i++){ if (color.equals(list.get(i).getColor())){ apples.add(list.get(i)); } } return apples; } @FunctionalInterface public interface AppleFilter { boolean filter(Apple apple); } public static class MyAppleFilter implements AppleFilter{ @Override public boolean filter(Apple apple) { return (apple.getColor().equals("red")) && apple.getWeight()>120; } } public static List<Apple> findApplesByFilter(List<Apple> list, AppleFilter appleFilter){ List<Apple> apples = new ArrayList<>(); for (int i=0; i<list.size(); i++){ if (appleFilter.filter(list.get(i))){ apples.add(list.get(i)); } } return apples; } public static void main(String[] args) throws Exception { List<Apple> list = Arrays.asList( new Apple("red", 110), new Apple("blue", 100), new Apple("red", 130)); //测试1 List<Apple> redApples1 = findRedApples(list); System.out.println(redApples1); //测试2 List<Apple> redApples2 = findApplesByColor(list, "red"); System.out.println(redApples2); //测试3 List<Apple> redApples3 = findApplesByFilter(list, new MyAppleFilter()); System.out.println(redApples3); //测试4 List<Apple> redApples4 = findApplesByFilter(list, new AppleFilter() { @Override public boolean filter(Apple apple) { return (apple.getColor().equals("red")) && apple.getWeight()>120; } }); System.out.println(redApples4); //测试5 lambda表达式 List<Apple> redApples5 = findApplesByFilter(list, apple -> (apple.getColor().equals("red")) && apple.getWeight()>120); System.out.println(redApples5); //测试6 Thread thread = new Thread(()-> System.out.println("aaaaaaaaaaaaaa")); thread.start(); Thread.currentThread().join(); } } ~~~