Wie die Java Stream API Ihren Code verbessert
前言
Java Stream 是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用 Stream 操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。
filter():根据指定的 Predicate 保留符合条件的元素。
map():根据指定的 Function 映射每个元素,生成一个新的 Stream。
flatMap():将每个元素映射为一个 Stream,然后将这些 Stream 连接成一个 Stream。
distinct():返回一个去重后的 Stream。
sorted():对 Stream 进行排序。
peek():对每个元素执行指定的操作,但并不消费元素。
limit():返回一个截断后的 Stream。
skip():返回一个跳过指定元素后的 Stream。
forEach():对每个元素执行指定的操作。
toArray():将 Stream 转换为数组。
示例
示例 1:使用 filter() 方法过滤奇数
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Example { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); List<Integer> evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); System.out.println("Even numbers: " + evenNumbers); } }
输出结果:
Even numbers: [2, 4, 6, 8, 10]
示例 2:使用 map() 方法将每个字符串转换为大写
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Example { public static void main(String[] args) { List<String> words = Arrays.asList("hello", "world", "java", "stream"); List<String> capitalizedWords = words.stream() .map(String::toUpperCase) .collect(Collectors.toList()); System.out.println("Capitalized words: " + capitalizedWords); } }
输出结果:
Capitalized words: [HELLO, WORLD, JAVA, STREAM]
示例 3:使用 flatMap() 方法将嵌套的列表展平为一个列表
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Example { public static void main(String[] args) { List<List<Integer>> nestedNumbers = Arrays.asList( Arrays.asList(1, 2), Arrays.asList(3, 4, 5), Arrays.asList(6, 7, 8, 9) ); List<Integer> flattenedNumbers = nestedNumbers.stream() .flatMap(List::stream) .collect(Collectors.toList()); System.out.println("Flattened numbers: " + flattenedNumbers); } }
输出结果:
Flattened numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9]
示例 4:使用 distinct() 方法去除重复元素
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Example { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 2, 1, 4, 5, 4, 3, 6); List<Integer> distinctNumbers = numbers.stream() .distinct() .collect(Collectors.toList()); System.out.println("Distinct numbers: " + distinctNumbers); } }
输出结果:
Distinct numbers: [1, 2, 3, 4, 5, 6]
示例 5:使用 sorted() 方法对 Stream 进行排序
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Example { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(5, 3, 8, 2, 9, 1, 7, 4, 6, 10); List<Integer> sortedNumbers = numbers.stream() .sorted() .collect(Collectors.toList()); System.out.println("Sorted numbers: " + sortedNumbers); } }
输出结果:
Sorted numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
示例 6:使用 peek() 方法打印每个元素并统计元素个数
import java.util.Arrays; import java.util.List; public class Example { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); int count = numbers.stream() .peek(System.out::println) .mapToInt(Integer::intValue) .sum(); System.out.println("Total count: " + count); } }
输出结果:
1
2
3
4
5
6
7
8
9
10
Total count: 55
示例 7:使用 limit() 方法限制结果集大小
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Example { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); List<Integer> limitedNumbers = numbers.stream() .limit(5) .collect(Collectors.toList()); System.out.println("Limited numbers: " + limitedNumbers); } }
输出结果:
Limited numbers: [1, 2, 3, 4, 5]
示例 8:使用 skip() 方法跳过前面的元素
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Example { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); List<Integer> skippedNumbers = numbers.stream() .skip(5) .collect(Collectors.toList()); System.out.println("Skipped numbers: " + skippedNumbers); } }
输出结果:
Skipped numbers: [6, 7, 8, 9, 10]
示例 9:使用 forEach() 方法打印每个元素
import java.util.Arrays; import java.util.List; public class Example { public static void main(String[] args) { List<String> words = Arrays.asList("hello", "world", "java", "stream"); words.stream() .forEach(System.out::println); } }
输出结果:
hello
world
java
stream
示例 10:使用 toArray() 方法将 Stream 转换为数组
import java.util.Arrays; import java.util.List; public class Example { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); Integer[] numberArray = numbers.stream() .toArray(Integer[]::new); System.out.println("Number array: " + Arrays.toString(numberArray)); } }
输出结果:
Number array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Das obige ist der detaillierte Inhalt vonWie die Java Stream API Ihren Code verbessert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo
