Java8Stream流的使用

首先这个需要Android版本非常高,本人借的7.0以上的版本才能运行要不就会报这样一个错

非常坑,找了一晚上;

如果条件具备就开始配置吧,

首先需要在App的gradle中写

为了方便zhantie把这两行写下来,粘贴的时候注意位置

 jackOptions {
            enabled true
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

粘好之后就可以用了;

 //将集合内的元素全部转换为大写
       /* List<String> wordList = Arrays.asList("a","b","c");
        List<String> output =
                wordList.stream()
                        .map(String::toUpperCase)
                        .collect(Collectors.toList());
      output.forEach(a-> Toast.makeText(this,a+"", Toast.LENGTH_SHORT).show());*/

        //计算集合内元素的平方
       /* List<Integer> nums = Arrays.asList(1, 2, 3, 4);
        List<Integer> squareNums =
                nums.stream()
                        .map(n -> n * n)
                        .collect(Collectors.toList());*/
        //将所有子集合内的元素按规则遍历
      /*  Stream<List<Integer>> input=Stream.of(
          Arrays.asList(1),
          Arrays.asList(2,3),
          Arrays.asList(4,5,6)
        );
        Stream<Integer> outputStream = input.flatMap((childList) -> childList.stream());
        outputStream.forEach(w-> Toast.makeText(this,w+"", Toast.LENGTH_SHORT).show());*/
        //遍历出集合内的偶数
       /* Integer[] sixNums = {1, 2, 3, 4, 5, 6};
        Integer[] evens=Stream.of(sixNums).filter(n->n%2==0).toArray(Integer[]::new);
        Arrays.stream(evens).forEach(e-> Toast.makeText(this,e+"", Toast.LENGTH_SHORT).show());*/
        //计算集合内的元素的和
        int sumValue = Stream.of(1, 2, 3, 4)
                .reduce(0, Integer::sum);
        Toast.makeText(this,sumValue+"", Toast.LENGTH_SHORT).show();

还有很多方法,都类似这样使用

下面有个帖子介绍的非常详细:

http://blog.csdn.net/CShawnX/article/details/70764096

这里面有很多方法可以使用。

 

posted @ 2017-11-02 21:01  菜鸟东东  阅读(529)  评论(0编辑  收藏  举报