静态成员方法与并发流

静态方法和成员方法

定义方法的时候,有static和没有ststic有什么区别?

有static的方法,叫做静态方法。
没有static的方法,叫做成员方法。(实例方法)

定义静态方法的格式:
public 返回值类型 方法名称(参数类型 参数名称){
//方法体
}

调用静态方法的格式:
方法名(参数值); //直接调用本类当中的静态方法
类名称.方法名(参数值) //调用另外一个类当中的静态方法
调用成员方法的格式:
类名称 对象名 = new 类名称(); //首先创建对象
对象名.成员方法名(参数值); //通过对象名调用成员方法

1.如果不创建对象,那么通过类名称只能调用静态方法
2.如果创建了对象,那么通过对象名可以调用成员方法
3.通过对象也可以调用静态方法,然而不推荐这么做

如果Lambda表达式需要做的事情,在另外一个类当中已经做过了,那么就可以直接拿过来替换Lambda。

方法引用的写法:

通过类名称引用静态方法,格式:
类名称:: 静态方法名

方法引用的又一种格式:

通过对象引用成员方法,格式:

对象名::成员方法名

扩展:
System.out其实就是一个JDK当中已经创建好的对象,而println就是System.out对象当中的成员方法

对象名::成员方法名
System.out::println

小节:
1.一定要有函数式接口,才能使用Lambda
2.对于重复的Lamdba场景,可以使用方法引用来进行简化

Java 8 当中的”流“ 其实就是Stream接口的对象。
JDK提供了一个流接口:java.util.stream.Stream

如何获取流?

1.根据集合获取流:集合名称.stream()
2.根据数组获取流:Stream.of(数组名称)
获取流之后,可以使用映射方法:map(用于转换的Lambda表达式)

映射:就是将一个对象转换成为另一个对象,把老对象映射到新对象上。

”赵xx,98“ 转换成为 ”98“ 将一个长字符串转换成为一个短字符串
”98“ 转换成为 98

如果希望对流当中的元素进行过滤,可以使用过滤方法:

filter(能产生boolean结果的lambda):如果参数Lambda产生了true,则要元素:如果产生了false,则不要元素。

如果希望在流当中进行元素的遍历操作,可以使用foreach方法。

forEach(Lambda表达式):意思是,对流当中的每一个元素都要进行操作。
参数Lambda表达式必须是一个能够消费一个参数,而且不产生数据结果的Lambda

例如:
Lambda: s-> System.out.println(s);
方法引用: System::println

如何才能获取“并发流”(支持并发操作的流)
.parallelStream

注意事项:
1.使用并发流操作的时候,到底有几个人进行同时操作呢?不用管,JDK会自己处理。
2.只要正确使用,就不会出现多个人抢到同一个元素的情况。
3.如果已经获取了一个普通的流,那么只要再调用一下parallel()方法也会变成并发流。

总结:
1.直接获取并发流.parallelstream()
2.已经获取了普通流,然后升级成为并发流:.stream().parallel()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值