package SimpleTest;
import java.util.function.Supplier;
public class Test13 {
public static void main(String[] args) {
String gets = gets(() -> "棋棋");
System.out.println(gets);
Integer geti = geti(() -> 100);
System.out.println(geti);
int[] arr ={10,56,42,63,21};
int max1 = max(() -> {
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
});
System.out.println(max1);
}
static Integer geti(Supplier<Integer> s){
return s.get();
}
static String gets(Supplier<String> s){
return s.get();
}
static int max(Supplier<Integer> s){
return s.get();
}
}
package SimpleTest;
import java.util.function.Consumer;
public class Test14 {
public static void main(String[] args) {
opp("棋棋", System.out::println);
opp("陈慧棋",s-> System.out.println(new StringBuilder(s).reverse().toString()));
System.out.println("----------------");
opp2("陈慧棋",System.out::println,s-> System.out.println(new StringBuilder(s).reverse().toString()));
}
static void opp(String name, Consumer<String> c){
c.accept(name);
}
static void opp2(String name,Consumer<String> c1,Consumer<String> c2){
c1.andThen(c2).accept(name);
}
}
class consumertest{
public static void main(String[] args) {
String[] str ={"棋棋,21","千叶影儿,20","夏倾月,20"};
printinfo(str,s ->{
String s1 = s.split(",")[0];
System.out.print("姓名:"+s1);
},s -> {
int s1 = Integer.parseInt(s.split(",")[1]);
System.out.println(",年龄:"+s1);
});
printinfo(str,s -> System.out.print("姓名:"+s.split(",")[0]),s -> System.out.println(",年龄:"+s.split(",")[1]));
}
static void printinfo(String[] strarr,Consumer<String> c1 ,Consumer<String>c2){
for (String s : strarr) {
c1.andThen(c2).accept(s);
}
}
}
package SimpleTest;
import java.security.cert.CertPath;
import java.security.cert.CertPathBuilderResult;
import java.util.function.Predicate;
public class Test15 {
public static void main(String[] args) {
System.out.println(checkString("棋棋", s ->s.length() > 3));
System.out.println(checkString("helloword", s ->s.length() > 8));
System.out.println("------------------");
System.out.println(checkString("棋棋赚大钱!", s -> s.length() > 3, s -> s.length() < 8));
System.out.println(checkString("赚钱!", s -> s.length() > 3, s -> s.length() < 8));
}
static boolean checkString(String s,Predicate<String> p1){
return p1.negate().test(s);
}
static boolean checkString(String s,Predicate<String> p1,Predicate<String> p2){
return p1.and(p2).test(s);
}
}
package SimpleTest;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.function.Predicate;
public class Test16 {
public static void main(String[] args) {
String[] arr ={"林青霞,30","刘岩,34","张曼玉,35","貂蝉,31","王祖贤,33"};
checkString(arr,s -> s.split(",")[0].length()>2,s -> Integer.parseInt(s.split(",")[1])>33);
}
static void checkString(String[] s, Predicate<String> p1,Predicate<String> p2){
ArrayList<String> arrayList =new ArrayList<>();
for (String a : s) {
if (p1.and(p2).test(a)) {
arrayList.add(a);
}
}
Iterator<String> iterator = arrayList.iterator();
while (iterator.hasNext())
System.out.println(iterator.next());
}
}
package SimpleTest;
import java.util.function.Function;
public class Test17 {
public static void main(String[] args) {
applytest("100",s -> Integer.parseInt(s));
applytest("200",Integer::parseInt);
System.out.println("-----------------------");
applytest(100,i->String.valueOf(i+100));
System.out.println("-----------------------");
applytest("3000",s -> Integer.parseInt(s)+500,i->String.valueOf(i));
}
static void applytest(String s,Function<String,Integer> f1){
System.out.println(f1.apply(s));
}
static void applytest(int i,Function<Integer,String> f1){
System.out.println(f1.apply(i));
}
static void applytest(String s,Function<String,Integer> f1,Function<Integer,String> f2){
System.out.println(f1.andThen(f2).apply(s));
System.out.println(f2.compose(f1).apply(s));
}
}
package SimpleTest;
import java.util.function.Function;
public class Test18 {
public static void main(String[] args) {
Functiontest("林青霞,30",s -> Integer.parseInt(s.split(",")[1])+70);
}
static void Functiontest(String s, Function<String,Integer> f1){
System.out.println(f1.apply(s));
}
}