最赞回答 / 慕田峪33150064
Map<String, String&t; strMap = new HashMap&t;(&; s(); strMap.put("Jack", "上海市浦东新区"); strMap.put("Tom", "上海市闵行区"); //通过Map的EntrySet获取Stream对象 Map&();String,String&et( newMap=new HashMap>& (); st...
2020-04-18
已采纳回答 / 大牧莫邪
传入参数会自动进行类型检查,对传入输入进行对应方法调用,如果调用了对应的方法但是参数、返回值等出现不一致情况会检查出错吖;你想想如果我们自己设计类似的流程,是不是也会这样去考虑呢
2020-04-17
已采纳回答 / 大牧莫邪
自建的类型提供了通用操作,可以让我们在写lambda表达式的时候直接使用而避免再去创建新的函数式接口,只是一种语法上的优化,而非必须。如果自己要创建实现的话思路和意义亦然,只是功能重复的话就没有必要了,个性化需求的话新创建就好啦吖,你说对吧。
2020-04-15
大牧老师
策略好像是 Strategy
ConditionStrategy -> ConditionStategy
策略好像是 Strategy
ConditionStrategy -> ConditionStategy
2020-04-15
讲师回答 / 大牧莫邪
静态方法和默认方法只是对接口功能的扩展,在原来的JDK老版本中没有这样的接口,我们不是一样编程开发么,对吧。只是添加了这样的功能之后在接口中就能完成通用的处理操作,避免了实现类中操作的麻烦而已。
2020-04-11
stream是串行,也就是线程安全,在操作某种重要任务使用,而parallelStream为并行,底层应该是启动了多线程在同时处理,为线程不安全,用来做简单的数据处理时用比较适合
2020-04-04
最赞回答 / 小梅花
这样,估计是复制粘贴没改过来 Optional optional = list.parallelStream().max((p1, p2)-> p1.hot - p2.hot);
2020-04-01
最新回答 / 送外卖
因为多个线程同时可能都处理了同一条数据,比如线程1和线程2,cpu先分配线程1处理数据,线程1处理到第20个数据时,还未处理完,cpu分配时间到了,然后cpu分配任务给线程2,因为没有同步锁,线程2又把第20条数据add进去了,接着线程2时间到了,轮到线程1,他会接着走他的没走完的那条数据,又会把20add进去,大概就是这个意思,这就是线程不安全和安全的问题,老师说了可以使用同步锁代码块来解决,或者从数据源开始就使用线程暗转的集合
2020-04-01