Sobes.tech
Middle

რა არის Java-ს ახალი ვერსიაში სტრიმების გამოყენების მიზანი?

sobes.tech AI

პასუხი AI-სგან

Маалыматтар топтомдору менен ишти жөнөкөйлөтүү.

Негизги максаттар:

  • Функционалдык: Лямбда өрнөктөрүн жана башка функционалдык интерфейстерди декларативдүү иштетүү үчүн колдонууга мүмкүндүк берет.
  • Параллелдик: Коллекциялар үстүндө операцияларды параллел жүргүзүүнү жеңилдетет, ачык-ачык жиптерди башкарбастан.
  • Өзгөрбөс: Стримдер негизги коллекцияны өзгөртпөйт. Стримдер үстүндө жүргүзүлгөн операциялар жаңы стримдерди же акыркы натыйжаларды түзөт.
  • Иштөө натыйжалуулугу: Lazy evaluation (кечиктирилген баалоо) операцияларды зарылчылык болгондо гана аткарууга мүмкүндүк берет.
  • Окуулушу оңой: Код салттуу циклдерге салыштырмалуу кыска жана түшүнүктүү болот.

Колдонуу мисалы:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class StreamExample {
    public static void main(String[] args) {
        List<String> fruits = Arrays.asList("apple", "banana", "orange", "grape");

        // Стримдер аркылуу фильтрлөө жана түрдүү кылуу
        List<String> filteredFruits = fruits.stream()
                                           .filter(s -> s.startsWith("a")) // "a" менен башталгандар гана
                                           .map(String::toUpperCase)     // Үлкөн тамгаларга айлантуу
                                           .collect(Collectors.toList());   // Жаңы тизмеге чогултуу

        System.out.println(filteredFruits); // Чыгуу: [APPLE]
    }
}

Жыйынтыктап айтканда, стримдер кодду заманбап, натыйжалуу жана окумдуу кылат, маалыматтар топтомдору менен иштөөдө.