酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

把java stream 的每一个api以表格的形式列出来,并在表格下面写上每一个api对应的示例代码。

在Java中,Stream API提供了一系列的操作来处理集合数据。以下是一些常用的Stream API及其示例代码: 1. filter(Predicate<? super T> predicate) - 过滤流中的元素,保留满足条件的元素。 示例代码: ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer> evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); System.out.println(evenNumbers); // 输出: [2, 4] ``` 2. map(Function<? super T,? extends R> mapper) - 将流中的每个元素通过给定的函数进行转换。 示例代码: ```java List<String> words = Arrays.asList("apple", "banana", "cherry"); List<Integer> wordLengths = words.stream() .map(String::length) .collect(Collectors.toList()); System.out.println(wordLengths); // 输出: [5, 6, 6] ``` 3. flatMap(Function<? super T,? extends Stream<? extends R>> mapper) - 将流中的每个元素转换为另一个流,然后将所有流连接成一个流。 示例代码: ```java List<String> sentences = Arrays.asList("Hello world", "Java stream"); List<String> words = sentences.stream() .flatMap(sentence -> Arrays.stream(sentence.split(" "))) .collect(Collectors.toList()); System.out.println(words); // 输出: [Hello, world, Java, stream] ``` 4. distinct() - 返回一个去除重复元素的流。 示例代码: ```java List<Integer> numbersWithDuplicates = Arrays.asList(1, 2, 3, 2, 4, 5, 3); List<Integer> distinctNumbers = numbersWithDuplicates.stream() .distinct() .collect(Collectors.toList()); System.out.println(distinctNumbers); // 输出: [1, 2, 3, 4, 5] ``` 5. sorted() - 根据自然顺序对流中的元素进行排序。 示例代码: ```java List<Integer> unsortedNumbers = Arrays.asList(5, 2, 8, 1, 9); List<Integer> sortedNumbers = unsortedNumbers.stream() .sorted() .collect(Collectors.toList()); System.out.println(sortedNumbers); // 输出: [1, 2, 5, 8, 9] ``` 6. sorted(Comparator<? super T> comparator) - 根据提供的比较器对流中的元素进行排序。 示例代码: ```java List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); List<String> sortedNames = names.stream() .sorted(Comparator.reverseOrder()) .collect(Collectors.toList()); System.out.println(sortedNames); // 输出: [Charlie, Bob, Alice] ``` 7. limit(long maxSize) - 返回一个不超过指定大小的流。 示例代码: ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer> firstThreeNumbers = numbers.stream() .limit(3) .collect(Collectors.toList()); System.out.println(firstThreeNumbers); // 输出: [1, 2, 3] ``` 8. skip(long n) - 跳过流中的前n个元素。 示例代码: ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer> lastTwoNumbers = numbers.stream() .skip(3) .collect(Collectors.toList()); System.out.println(lastTwoNumbers); // 输出: [4, 5] ``` 9. collect(Collector<? super T,A,R> collector) - 将流中的元素收集到一个新的结果容器中。 示例代码: ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); int sum = numbers.stream() .collect(Collectors.summingInt(Integer::intValue)); System.out.println(sum); // 输出: 15 ``` 这些是Java Stream API的一些常用操作及其示例代码。这只是Stream API的一部分,还有其他许多可用的操作,如`reduce()`, `forEach()`, `peek()`等。 [2024-05-29 22:50:20 | AI写代码神器 | 1163点数解答]

相关提问