0Pricing
Java Academy · Ders

IntStream ve LongStream

Akışlarda kutulamadan kaçının

IntStream ve LongStream, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.

İlkel Tür Akışları Neden Vardır

Stream<Integer>, her öğeyi bir Integer nesnesine kutular. IntStream, LongStream ve DoubleStream, kutulama ek yükünü önlemek için doğrudan ilkel değerlerle çalışır.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int sum = IntStream.of(1, 2, 3, 4).sum();
        System.out.println(sum);
    }
}

IntStream Oluşturma

Açık değerler için IntStream.of kullanınız veya bir int[] üzerinde Arrays.stream kullanınız.

import java.util.Arrays;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int[] data = {10, 20, 30};
        IntStream s = Arrays.stream(data);
        System.out.println(s.max().getAsInt());
    }
}

Büyük Sayılar için LongStream

LongStream, IntStream ile aynı yapıyı izler; ancak long değerleriyle çalışarak büyük toplamların taşma yaşamasını önler.

import java.util.stream.LongStream;

public class Main {
    public static void main(String[] args) {
        long total = LongStream.of(1_000_000_000L, 2_000_000_000L).sum();
        System.out.println(total);
    }
}

Özelleştirilmiş Sonlandırma İşlemleri

İlkel tür akışları, nesne akışlarında bulunmayan sayısal yöntemler ekler: sum, min, max, average.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        IntStream nums = IntStream.of(4, 8, 15, 16, 23, 42);
        System.out.println(nums.average().getAsDouble());
    }
}

OptionalInt Sonuçları

min ve max, akış boş olabileceği için OptionalInt döndürür. getAsInt veya orElse kullanınız.

import java.util.OptionalInt;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        OptionalInt result = IntStream.empty().max();
        System.out.println(result.orElse(-1));
    }
}

map İlkel Türü Korur

Bir IntStream üzerindeki map, bir IntUnaryOperator alır ve başka bir IntStream döndürür; böylece kutulama gerçekleşmez.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int sumOfSquares = IntStream.of(1, 2, 3)
            .map(n -> n * n)
            .sum();
        System.out.println(sumOfSquares);
    }
}

İlkel Tür Akışlarında filter

filter bir IntPredicate alır ve koşulu karşılayan ilkel değerleri tutar.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        long evens = IntStream.of(1, 2, 3, 4, 5, 6)
            .filter(n -> n % 2 == 0)
            .count();
        System.out.println(evens);
    }
}

IntStream Üzerinde reduce

reduce, akışı bir IntBinaryOperator kullanarak tek bir değerde birleştirir. Bir özdeşlik değeriyle kullanıldığında doğrudan bir int döndürür.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int product = IntStream.rangeClosed(1, 5)
            .reduce(1, (a, b) -> a * b);
        System.out.println(product);
    }
}

İlkel Değerlerde forEach

forEach bir IntConsumer alır ve yine kutulamayı önler.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        IntStream.of(7, 8, 9).forEach(n -> System.out.println(n));
    }
}

Bir Dizi Toplama

toArray, bir IntStream için doğal karşılık olan ilkel türde bir int[] döndürür.

import java.util.Arrays;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        int[] doubled = IntStream.of(1, 2, 3).map(n -> n * 2).toArray();
        System.out.println(Arrays.toString(doubled));
    }
}

Int ve Long Arasında Dönüştürme

IntStream.asLongStream, kutulama yapmadan ilkel değerleri long türüne genişletir.

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        long sum = IntStream.of(1, 2, 3).asLongStream().sum();
        System.out.println(sum);
    }
}

Hızlı Kontrol

Stream<Integer> yerine IntStream kullanmanın temel nedeni nedir?

Özet

Kutulamayı atlamak için ilkel tür akışlarını kullandınız:

  • IntStream ve LongStream, ham ilkel değerleri barındırır.
  • Bu akışlar sayısal sonlandırma işlemleri ekler: sum, min, max, average.
  • min ve max, OptionalInt döndürür.
  • map, filter, reduce ve toArray işlemlerinin tümü ilkel türü korur.

Sıkça Sorulan Sorular

“IntStream ve LongStream” dersi ücretsiz mi?

Evet — “IntStream ve LongStream” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.

“IntStream ve LongStream” dersinde ne öğreneceğim?

Akışlarda kutulamadan kaçının Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Java Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“IntStream ve LongStream” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. IntStream ve LongStream
  2. Aralık ve Birleştirme İşlemleri
  3. Nesne Akışlarına ve Nesne Akışlarından Eşleme
  4. İlkel Tür Akışları Üretme
← Java Academy Sayfasına Dön