Java akışına başlarken

Kurulum veya Kurulum

Java akışını kurma veya yükleme hakkında ayrıntılı talimatlar.

Android Studio kullanarak Android’de Java Stream Api (Java 8) ile çalışma

Gradle Kurulumu:

build.gradle(Modül: uygulama)

 compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

     jackOptions {
            enabled true
        }

Akış API’si nedir?

Akış, Java 8’de tanıtılan yeni bir soyut katmandır. Akış, akış kaynağından gelen bir dizi öğedir (nesneler, ilkel türler). Bu nedenle akış bir veri yapısı değildir ve birlikte çalıştığı öğeleri saklamaz. Sonlu veya sonsuz boyutta olabilir ve zahmetsiz kod paralelliğine izin verir


Avantaj:

  • Verileri bildirimsel bir şekilde kullanmaya yardımcı olur. kullanabiliriz Tam çalıştırmadan Max, Min vb. gibi veritabanı işlevleri yineleme.
  • Endişelenmeden çok çekirdekli mimarileri iyi kullanır çoklu iş parçacığı kodu.
  • Java Stream ile aşağıdakileri yapabilen bir veri işlemleri boru hattı oluşturabiliriz: sırayla veya paralel olarak çalıştırın.
  • Gruplama, sipariş verme vb. işlemlere destek sağlar.
  • Fonksiyonel programlama tarzında kod yazmayı destekler.
  • Verilerin paralel işlenmesini sağlar.

Akışlar nasıl çalışır :

Normal Yaklaşım (Stream Api kullanmadan) :

 List<Integer> numbers = new ArrayList<>();
    numbers.addAll(Arrays.asList(1, 20, 3, 10, 20, 30, 4, 50, 80, 1, 2));//adding dummy data

    int i = 0;
    List<String> number_str = new ArrayList<>();
    for (Integer num : numbers) {
        if (i >= 5)//after 5 loop will stop
            break;

        if (num >= 10) // check number greater than or equal to 10
        {
            number_str.add(String.format("Number %d", num));//Typecast Integer to String then add to String List
            i++;//increment i count
        }
    }

    number_str.sort(Comparator.naturalOrder());//sort the list

Yukarıdaki kodda Tamsayı Listesini oluşturduk ve bazı verileri ekledik, ardından for döngüsü kullanarak Yinele. Her döngü yürütmesinde döngü sayımı(i >= 5) ve num >=10 kontrol ederiz. nihayet dize listesini sıralayın.


Şimdi kodu Java’nın 8 Stream API’sini kullanarak yeniden yazalım:

  List<Integer> numbers = new ArrayList<>();
numbers.addAll(Arrays.asList(1, 20, 3, 10, 20, 30, 4, 50, 80, 1, 2));

List<String> number_str = numbers.stream()
        .filter(num -> num >= 10)//check num greater than 10
        .limit(5)//stop loop at 5
        .sorted()//sort the list
        .map(num -> String.format("Number %d", num))//typecast into String List
        .collect(Collectors.toList());