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]
    }
}

Хулоса қилиб айтганда, стримлар кодни замонавий, самарали ва ўқилиши осон қилади, маълумотлар жамланмалари билан ишлашда.