Heim > Java > javaLernprogramm > Finden Sie das erste Element des Streams in Java

Finden Sie das erste Element des Streams in Java

WBOY
Freigeben: 2023-09-03 10:05:03
nach vorne
695 Leute haben es durchsucht

Finden Sie das erste Element des Streams in Java

Die Stream-API von Java ist ein leistungsstarkes Tool zur Verarbeitung von Datensammlungen. Ein typischer Anwendungsfall ist hier die Suche nach ersten Einträgen eines Streams, die einem bestimmten Prinzip entsprechen. Wir bieten verschiedene Möglichkeiten zur Bewältigung solcher Aufgaben sowie Codebeispiele und Erklärungen.

Grammatik

Um das erste Element eines Java-Streams zu erstellen, verwenden Sie die folgende Syntax -

Optional<T> firstElement = stream.filter(condition).findFirst();
Nach dem Login kopieren

In diesem Beispiel gehören zu den bemerkenswerten Symbolen „stream“, das sich auf die Aufzählung von Elementen bezieht; „condition“, das das zum Filtern dieser Features verwendete Prädikat angibt, und schließlich „firstElement?“, ein optionales Containerobjekt, dessen Eigenschaften dies zulassen zu speichern oder leer zu bleiben, wobei das erste Objekt für diese bestimmte Konfiguration geliefert wird.

Grammatikerklärung

Filter bilden komplexe Spezifikationen für jede im Stream gefundene sequentielle Komponente. Nur Objekte, die diese Anforderungen erfüllen, sind für spätere Anliegen relevant. Kostenlose Dienstprogrammoperationen wie findFirst ermitteln die optionalen Elemente, die dieser Ermittlungsmethode zugeordnet sind und Komponenten des Elementarflusses enthalten, oder gehen einfach davon aus, dass die ungültige Komponente die Redundanzkriterien der geltenden regulatorischen Fusionsvereinbarung nicht erfüllt.

Methode 1

Algorithmus

  • Erstellen Sie einen Stream aus einer Sammlung von Elementen.

  • Wenden Sie Filter auf Streams an, um die gewünschten Kriterien zu erfüllen.

  • Verwenden Sie die Methode findFirst, um das optionale Objekt des ersten passenden Elements abzurufen.

  • Überprüfen Sie, ob das optionale Objekt leer ist oder einen Wert enthält.

  • Wenn das optionale Objekt nicht leer ist, verwenden Sie die get-Methode, um das erste Element abzurufen.

Beispiel

import java.util.List;
import java.util.Optional;
import java.util.function.Predicate;

public class FirstElementFinder {
   public static <T> T findFirstElement(List<T> elements, Predicate<T> condition) {
      Optional<T> firstElement = elements.stream().filter(condition).findFirst();
      return firstElement.orElse(null);
   }

   public static void main(String[] args) {
      List<Integer> numbers = List.of(1, 2, 3, 4, 5);
      Predicate<Integer> condition = number -> number > 3;
      Integer firstElement = findFirstElement(numbers, condition);
      System.out.println("First element: " + firstElement);
   }
}
Nach dem Login kopieren

Ausgabe

First element: 4
Nach dem Login kopieren

Anleitung

Wir empfehlen, eine statische Funktion namens findFirstElement zu erstellen, die zwei Dateneingaben akzeptiert: eine Liste ausgewählter Elemente und ein Vergleichskriterium.

Fügen Sie Schritte zur Prozessvereinfachung in diese Funktion ein. Konvertieren Sie zunächst die Liste in eine Stream-Funktion und wenden Sie dann Ihre Kriterien mithilfe von Filtern an. Nach dieser Phase zeigt die Methode findFirst übereinstimmende Elemente an. Implementieren Sie die Methode „orElse“ für optionale Objekte, um ein Nullergebnis zurückzugeben, wenn keine Übereinstimmung gefunden wird.

Diese vorgeschlagenen Strategien liefern zuverlässige Ergebnisse, wie unsere Hauptfunktion zeigt, die mithilfe des zuvor erwähnten Verfahrens prüft, welche ganzen Zahlen größer als 3 sind.

Methode 2

Algorithmus

  • Erstellen Sie einen Stream aus einer Sammlung von Elementen.

  • Verwenden Sie die Limit-Methode, um den Stream auf ein Element zu beschränken.

  • Verwenden Sie die findFirst-Methode, um das optionale Objekt des ersten Elements des eingeschränkten Streams abzurufen.

  • Überprüfen Sie, ob das optionale Objekt leer ist oder einen Wert enthält.

  • Wenn das optionale Objekt nicht leer ist, verwenden Sie die get-Methode, um das erste Element abzurufen.

Beispiel

import java.util.List;
import java.util.Optional;

public class FirstElementFinder {
   public static <T> T findFirstElement(List<T> elements) {
      Optional<T> firstElement = elements.stream().limit(1).findFirst();
      return firstElement.orElse(null);
   }

   public static void main(String[] args) {
      List<String> names = List.of("Alice", "Bob", "Charlie");
      String firstElement = findFirstElement(names);
      System.out.println("First element: " + firstElement);
   }
}
Nach dem Login kopieren

Ausgabe

First element: Alice
Nach dem Login kopieren

Anleitung

Um der Erklärung unseres Prozesses mehr Klarheit und Stil zu verleihen, erfordert unsere Technik die Erstellung eines statischen Moduls namens findFirstElement, das beim Aufruf eine Sammlung erhält, die hauptsächlich aus Elementen als Argument besteht. In der Logik dieses Moduls gibt es Schritte wie das Konvertieren von List -> Stream; das Abrufen des angeforderten Elements von Stream -> .findFirst(); if Optional = empty -> .orElse (null), dann Folgeverarbeitung. Als klares Beispiel in main() wird die Verwendung mit einer Zeichenfolge, die in einer anderen Liste enthalten ist, separat demonstriert. Methode 3

Algorithmus

    Erstellen Sie einen Stream aus einer Sammlung von Elementen.
  • Verwenden Sie Filtermethoden, um die gewünschten Kriterien zu erfüllen.
  • Verwenden Sie die Methode findFirst, um das optionale Objekt des ersten passenden Elements abzurufen.
  • Überprüfen Sie, ob das optionale Objekt leer ist oder einen Wert enthält.
  • Wenn das optionale Objekt nicht leer ist, verwenden Sie die get-Methode, um das erste Element abzurufen.
  • Vollständiger ausführbarer Code für Methode 3 -
  • Beispiel
import java.util.Arrays;
import java.util.Optional;
import java.util.function.Predicate;

public class FirstElementFinder {
   public static <T> T findFirstElement(T[] elements, Predicate<T> condition) {
      Optional<T> firstElement = Arrays.stream(elements).filter(condition).findFirst();
      return firstElement.orElse(null);
   }

   public static void main(String[] args) {
      String[] fruits = {"Apple", "Banana", "Cherry"};
      Predicate<String> condition = fruit -> fruit.startsWith("B");
      String firstElement = findFirstElement(fruits, condition);
      System.out.println("First element: " + firstElement);
   }
}
Nach dem Login kopieren

Ausgabe

First element: Banana
Nach dem Login kopieren

Anleitung

Sie können die statische Operation findFirstElement verwenden, um das erste passende Element des Arrays zu finden. Für diese Funktion sind verwandte Elemente und Suchkriterien erforderlich. Die anfängliche Evaluierung der Methode umfasst das Parsen mit Arrays.stream, das Ändern der ursprünglichen Komponentensammlung in ein Stream-Format und das anschließende Anwenden von Schlüsselprozessen wie Filtermethoden zur Implementierung unserer Filteranforderungen und findFirst(). Um ein leeres orElse zu verwalten, setzen Sie es auf null. Optionale Objekte in diesen Ebenen können Lücken oder Probleme im praktischen Einsatz vermeiden.

Wenn wir nur Früchte wollen, die mit „B“ beginnen, können wir beim Aufruf das Fruchtarray und „B“ als Einstellungsparameter übergeben. Unsere Implementierung der findFirstElement-Methode gibt das erste passende Element zurück, das diese Anforderungen erfüllt, sodass eine zuvor erstellte, aber jetzt vollständige Datensammlung genutzt werden kann.

Methode 4

Algorithmus

    Erstellen Sie einen Stream aus einer Sammlung von Elementen.
  • Verwenden Sie die findFirst-Methode, um das optionale Objekt abzurufen, das das erste Element des Streams enthält.
  • Überprüfen Sie, ob das optionale Objekt leer ist oder einen Wert enthält.
  • Wenn das optionale Objekt nicht leer ist, verwenden Sie die get-Methode, um das erste Element abzurufen.

示例

import java.util.Optional;
import java.util.stream.Stream;

public class FirstElementFinder {
   public static <T> T findFirstElement(Stream<T> stream) {
      Optional<T> firstElement = stream.findFirst();
      return firstElement.orElse(null);
   }

   public static void main(String[] args) {
      Stream<Integer> numbers = Stream.of(1, 2, 3, 4, 5);
      Integer firstElement = findFirstElement(numbers);
      System.out.println("First element: " + firstElement);
   }
}
Nach dem Login kopieren

输出

First element: 1
Nach dem Login kopieren

说明

在此方法中,我们创建一个静态方法 findFirstElement,它将元素流作为输入参数。作为该方法执行的一部分,我们利用 findFirst 从流中获取初始元素。在Optional对象表示空值的情况下,我们通过orElse选择null。在 main 方法中,我们演示了 findFirstElement 与整数流的用法。

结论

为了确定如何通过 Java 编程语言访问流的初始元素,最重要的是我们研究各种可用的方法;特别是因为每个选择都为这个普遍存在的问题提供了可接受的解决方案 - 取决于其必要的目标。本文旨在通过解释示例来提供对每种技术的见解,同时确保所获得的理解可以在用户的​​个人项目中自信地运用。我们鼓励在选择专门针对其应用程序类型定制的方法之前评估性能优化、可持续性和编码效率等关键方面。

Das obige ist der detaillierte Inhalt vonFinden Sie das erste Element des Streams in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage