public static void main(String[] args) {
//1、用lambda表達式實作Runnable
//Java 8之前實作Runnable
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Before Java8, new Thread!");
}
}).start();
//Java 8用lambda表達式實作Runnable
new Thread( () -> {
System.out.println("In Java8, new Thread!");
}).start();
//2、用Lambdas排序集合
List<String> list = Arrays.asList("Rafael Nadal", "Novak","Stanislas","David Ferrer","Roger Federer","Andy Murray","Tomas","Juan");
//Java 8之前使用匿名内部類進行排序
list.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return (o1.compareTo(o2));
}
});
System.out.println("Before Java8, After sort: ");
list.forEach((player) -> System.out.print(player + "; "));
//Java 8之前使用Lambda進行排序
Comparator<String> sortByName = (String s1, String s2) -> (s1.compareTo(s2));
Collections.sort(list, sortByName);
System.out.println("");
System.out.println("In Java8, After sort: ");
list.forEach((player) -> System.out.print(player + "; "));
}
執行結果:
Before Java8, new Thread!
In Java8, new Thread!
Before Java8, After sort:
Andy Murray; David Ferrer; Juan; Novak; Rafael Nadal; Roger Federer; Stanislas; Tomas;
In Java8, After sort:
Andy Murray; David Ferrer; Juan; Novak; Rafael Nadal; Roger Federer; Stanislas; Tomas;