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]
}
}
Жыйынтыктап айтканда, стримдер кодду заманбап, натыйжалуу жана окумдуу кылат, маалыматтар топтомдору менен иштөөдө.