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]
}
}
Хулоса қилиб айтганда, стримлар кодни замонавий, самарали ва ўқилиши осон қилади, маълумотлар жамланмалари билан ишлашда.