• 首页
  • 视频
  • 诗情画意
  • 心情点滴
  • 相册(单身勿点!!)
  • 学无止境
  • 留言板
  • 登录/
  • 注册

java8 新特性


首先看一下lambda表达式 现在产生一个新的列表或者map很简单


 Random rand = Random()Map<IntegerDouble> map=HashMap()Integer[] integers=Integer[]Arrays.(integersindex->rand.nextInt())Arrays.(integers).forEach(x->map.put(xrand.nextGaussian()))System..println(map.size())

可以看出来已经产生了一个很大的map 其中的parallelsetAll是一个很好的方法

然后我们看看怎么定义一个字典 用它来对已经有的列表进行计数


List<String> cc=ArrayList<String>()Arrays.(integers).forEach(x->cc.add(rand.nextInt()+))Map<StringInteger> countmap=HashMap<>()cc.forEach(x->{
    Optional<Integer> iget=Optional.(countmap.get(x))countmap.put(xiget.orElse()+)})


可以看出来用了Optional方法 这个方法很有用用来防止空的集合


我们再看看一些很好用的stream的方法

blob.png


Integer[] cc=Integer[]System..println(cc.)List<Integer> list=Arrays.(cc).stream().map(x -> rand.nextInt()).collect(Collectors.())System..println(list.size())

这个就是直接初始化了一个列表并且随机赋值 


map是一个映射操作 就是把所有的元素(这里用匿名函数表示为x)映射到一个新元素上面并且产生一个stream

list.stream().distinct()

刚才说了map 还有一个flatmap 就是把一个几个的元素映射到一个stream上面

blob.png

一个例子

blob.png




blob.png


更多的  可以看这个

http://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/



  • Nov. 29, 2015
  • 王炳宁
  • java

留下您的评论

回复列表:

  • god
  • Jan. 9, 2016, 8:47 p.m.

最近才知道这些东西都叫做糖果语言~~~

  • god
  • Dec. 7, 2015, 7:48 a.m.

代码有点问题  意会即可

王炳宁