亲宝软件园·资讯

展开

Stream流操作

​ pofenx   ​ 人气:0

Stream流常见的中间操作方法

predicate接口中的方法 boolean test(T t):对给定的参数进行判断,返回一个布尔值

function 接口中的方法 R applu(T t)

package Demo1;
import java.util.ArrayList;
public class Demo32 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("林青霞");
        list.add("张曼玉");
        list.add("王祖贤");
        list.add("柳岩");
        list.add("张敏");
        list.add("张无忌");
        //以张开头
        list.stream().filter(s -> s.startsWith("张")).forEach(System.out::println);
        System.out.println("-------------");
        //长度为3
        list.stream().filter(s -> s.length()==3).forEach(System.out::println);
        System.out.println("---------------");
        //张,长度为3
        list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length()==3).forEach(System.out::println);

    }
}
package Demo1;
import java.util.ArrayList;
public class Demo33 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("林青霞");
        list.add("张曼玉");
        list.add("王祖贤");
        list.add("柳岩");
        list.add("张敏");
        list.add("张无忌");
        //需求一,取前三个数据在控制台输出
        list.stream().limit(3).forEach(System.out::println);
        //跳过前三个元素
        list.stream().skip(3).forEach(System.out::println);
        //跳过前2个元素,把剩下元素中国前两个在控制台上输出
        list.stream().skip(2).limit(2).forEach(System.out::println);
        }
    }
package Demo1;
import java.util.ArrayList;
import java.util.stream.Stream;
public class Demo34 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("林青霞");
        list.add("张曼玉");
        list.add("王祖贤");
        list.add("柳岩");
        list.add("张敏");
        list.add("张无忌");
        //需求1,取前4给数据组成一个流
        Stream<String> s1 = list.stream().limit(4);
        //跳过前两个数据组成一个流
        Stream<String> s2 = list.stream().skip(2);
        //需求3,合并1,2得到的流,结果输出在控制台
 Stream.concat(s1,s2).forEach(System.out::println);
        //4,合并1,2流,输出在控制台,字符串元素不能重复
        Stream.concat(s1,s2).distinct().forEach(System.out::println);
        }
}
package Demo1;
import java.util.ArrayList;
import java.util.stream.Stream;
public class Demo34 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("lingqinxia");
        list.add("zhangmanyu");
        list.add("wangzhuxian");
        list.add("liuyan");
        list.add("zhangming");
        list.add("zhangwuji");
 //按照字母顺序输出
      //  list.stream().sorted().forEach(System.out::println);
        //按照长度排列输出
        //list.stream().sorted((s1,s2) -> s1.length() - s2.length()).forEach(System.out::println);
list.stream().sorted((s1,s2) ->{
    int num = s1.length()-s2.length();
    int num2 = num ==0?s1.compareTo(s2):num;
    return num2;
}).forEach(System.out::println);
    }
}
package Demo1;
import java.util.ArrayList;
import java.util.stream.Stream;
public class Demo34 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("30");
        list.add("40");
        list.add("50");
        list.add("7");
        list.add("87");
        list.add("756");
//将集合中的制度串数据转换为整数输出
//list.stream().map(Integer::parseInt).forEach(System.out::println);
      //  list.stream().mapToInt(Integer::parseInt).forEach(System.out::println);
//int sum 返回流中的总和
        int result = list.stream().mapToInt(Integer::parseInt).sum();
        System.out.println(result);
    }
}

Stream流中常见的终结操作方法

Consumer接口中的方法

void accept(T t ):对给定的参数执行此操作

package Demo1;
import java.util.ArrayList;
import java.util.stream.Stream;
public class Demo34 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("林青霞");
        list.add("张曼玉");
        list.add("王祖贤");
        list.add("柳岩");
        list.add("张敏");
        list.add("张无忌");
//list.stream().forEach(System.out::println);
       long count = list.stream().filter(s -> s.startsWith("张")).count();
        System.out.println(count);
    }
}

反射

类加载器

类加载:

类的加载:

类的连接:

类的初始化:

类的初始化步骤:

注意:在执行第二个步骤的时候,系统对字节父类的初始化步骤也遵循初始化步骤1-3

类的初始化时机:

反射概述

java反射机制:是指在运行时去获取一个类的变量和方法的信息,然后通过获取到的信息来创建对象,调用方法的一种机制。由于这种动态性,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行时仍然可以扩展

加载全部内容

相关教程
猜你喜欢
用户评论