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
这里面有很多方法可以使用。