Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Java 9 - Penyempurnaan API Streaming

Aliran diperkenalkan di Java untuk membantu pengembang melakukan operasi agregat dari urutan objek. Dengan Java 9, beberapa metode ditambahkan untuk membuat streaming lebih baik.

takeWhile(Antarmuka Predikat)

Sintaks

default Stream<T> takeWhile(Predicate<? super T> predicate)

metode takeWhile mengambil semua nilai hingga predikat mengembalikan false. Ini mengembalikan, dalam kasus aliran yang dipesan, aliran yang terdiri dari awalan elemen terpanjang yang diambil dari aliran ini yang cocok dengan predikat yang diberikan.

Contoh

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      Stream.of("a","b","c","","e","f").takeWhile(s->!s.isEmpty())
         .forEach(System.out::print);		 
   } 
}

Keluaran

metode takeWhile mengambil semua nilai a, b, dan c, lalu setelah string kosong, string berhenti dieksekusi.

abc

dropWhile(Antarmuka Predikat)

Sintaks

default Stream<T> dropWhile(Predicate<? super T> predicate)

metode dropWhile membuang semua nilai di awal hingga predikat kembali benar. Ini mengembalikan, dalam kasus aliran yang dipesan, aliran yang terdiri dari elemen yang tersisa dari aliran ini setelah menjatuhkan awalan terpanjang dari elemen yang cocok dengan predikat yang diberikan.

Contoh

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      Stream.of("a","b","c","","e","f").dropWhile(s-> !s.isEmpty())
         .forEach(System.out::print);
      
      System.out.println();
      Stream.of("a","b","c","","e","","f").dropWhile(s-> !s.isEmpty())
         .forEach(System.out::print);
   } 
}

Keluaran

metode dropWhile menjatuhkan nilai a,b dan c, kemudian setelah string kosong, ia mengambil semua nilai.

ef
ef

ulangi

Sintaks

static <T> Stream<T> iterate(T seed, Predicate<? super T> hasNext, UnaryOperator<T> next)

metode iterate sekarang memiliki predikat hasNext sebagai parameter yang menghentikan loop setelah predikat hasNext mengembalikan false.

Contoh

import java.util.stream.IntStream;

public class Tester {
   public static void main(String[] args) {
      IntStream.iterate(3, x -> x < 10, x -> x+ 3).forEach(System.out::println);
   } 
}

Keluaran

3
6
9

ofNullable

Sintaks

static <T> Stream<T> ofNullable(T t)

metode ofNullable diperkenalkan untuk mencegah NullPointerExceptions dan untuk menghindari pemeriksaan null untuk aliran. Metode ini mengembalikan Aliran berurutan yang berisi elemen tunggal, jika bukan nol, jika tidak mengembalikan Aliran kosong.

Contoh

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      long count = Stream.ofNullable(100).count();
      System.out.println(count);
  
      count = Stream.ofNullable(null).count();
      System.out.println(count);
   } 
}

Keluaran

1
0

java

  1. Operator Jawa
  2. Komentar Jawa
  3. Java untuk setiap Loop
  4. String Jawa
  5. Antarmuka Jawa
  6. Kelas Anonim Java
  7. Java mencoba-dengan-sumber daya
  8. Anotasi Jawa
  9. Pernyataan Jawa
  10. Java 9 - Ikhtisar