Inhalt
#java#stream Stream so'zi o'zbekchasiga oqim so'ziga to'g'ri keladi. Oqim so'zi esa wikipedia aytishicha, suv va havo massasining muayyan yo'nalishda harakatlanishi, ko'chishi ma'nosini anglatadi. Misol uchun bizda juda ham ko'p user ma'lumotlaridan iborat List bor. Shu list ichidan bizga misol uchun, 30 yoshgacha bo'lganlarining ismlarini olishimiz kerak. Kodimiz taxminan bunday ko'rinishda bo'ladi: List<Users> userList = ... List<Users> result = new ArrayList(); //30 yoshdan kichiklarini yig'amiz for(User : userList){ if(user.getAge() <= 30){ result.add(user); } } //Yoshi bo'yicha saralaymiz Collections.sort(result, new Comparator<User>(){ public int compare(User u1, User u2){ return u1.getAge().compareTo(u2.getAge()); } }); System.out.println(result); //ismlarni umumiy yig'amiz List<String> names = new ArrayList<>(); for(User user : result){ names.add(user.getName()); } Haa, ancha mehnat qildik-a😅 Bu holat ko'p ma'lumotlar uchun samarali hisoblanmaydi. Uni ustiga juda ham ko'p kod. Shularni hammasini 3-4 qator kodda yozsa bo'larmikan, a? Java 8 versiyada Stream API bizlarga taqdim qilingan. Stream API bizlarga xuddi suv va havo oqimi kabi ma'lumotlar oqimini hosil qilib beradi. Shu oqim davomida biz istalgan logikamizni qo'llayveramiz. Stream API orqali kodimiz quyidagi ko'rinishga keladi: List<String> names = userList.stream().filter(u -> u.getAge() <= 30) .sorted(Comparator.comparing(User::getAge) .map(User::getName) .collect(Collectors.toList()); 😎Programming with streams is awesome. Stream API bizga ma'lumot to'plamlarini oqimlarga aylantirib, amalga oshirishimiz kerak bo'lgan ishlarni parallel qilish imkonini beradi. Ajoyib mavzu, bunga hali qaytamiz :) @it_suhbat