一段带有输入参数的可执行语句块:
(Type1 param1, Type2 param2, ..., TypeN paramN) -> {
statment1;
statment2;
//.............
return statmentM;
}
Sample 1:
List<String> names = ...;
Collections.sort(names, (o1, o2) -> o1.compareTo(o2));
List<String> names = ...;
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});List<String> names = ...;
Collections.sort(names, (o1, o2) -> o1.compareTo(o2));
List<String> names = ...;
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
Sample2:
//Lambda SAM
List<String> names = new ArrayList<>();
names.add("TaoBao");
names.add("ZhiFuBao");
List<String> lowercaseNames = names.stream().map((String name) -> {return name.toLowerCase();}).collect(Collectors.toList());
//普通
List<String> names = new ArrayList<>();
names.add("TaoBao");
names.add("ZhiFuBao");
List<String> lowercaseNames = new ArrayList<>();
for (String name : names) {
lowercaseNames.add(name.toLowerCase());
}
//文艺
List<String> names = new ArrayList<>();
names.add("TaoBao");
names.add("ZhiFuBao");
List<String> lowercaseNames = FluentIterable.from(names).transform(new Function<String, String>() {
@Override
public String apply(String name) {
return name.toLowerCase();
}
}).toList();