Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Refactoring to Java Streams and Lambdas
1. Welcome To The Age Of Monolithic Legacy
1.1 Welcome (1:12)
1.1.1 Slides
1.1.2 Exercises
1.2 Refactoring (3:48)
1.3 Setting Up Your IDE (6:14)
1.4 Building the OFBiz Project (6:32)
1.5 Analyzing Code for Refactoring in IDEA (12:01)
2. Cleaning Up Some Pre-Java 5 Dinosaur Code
2.1 Refactoring to Java 5 (2:04)
2.2 Getting Rid of Unnecessary Boxing:Unboxing (9:37)
2.3 Changing StringBuffer to StringBuilder (1:30)
2.4 String.contains() instead of indexOf() (4:19)
2.5 Replace 'for' Loop With Java 5 for-in (9:47)
2.6 Replace 'while' Loop With Java 5 for-in (10:22)
3. Moving to Java 7, Our Code is Entering the Age of Mammals
3.1 More Java 5 Refactorings (8:18)
3.2 Java 7 Refactorings, Diamond Operator (5:18)
3.3 Java 7 Collapsing try-catch Blocks (2:38)
3.4 Java 7 Refactoring to try-with-resource (13:11)
4. Fire is Discovered in Lambdas and Method References in Java 8
4.1 Java 8 Static Methods in Interfaces (1:27)
4.2 Java 8 Default Methods in Interfaces (2:04)
4.3 How Functional Interfaces Work (1:58)
4.4 The Four Types of Method References (10:45)
4.5 Refactoring to Iterable.forEach() (4:41)
4.6 Refactoring to use Collection.removeIf() (9:10)
5. Java 8 Streams, We Are Moving Towards the Stone Age
5.1 Introduction to Java 8 Streams (4:43)
5.2 Stream map(), filter(), collect() (4:15)
5.3 Refactoring to Lambdas and Method References (9:54)
5.4 Comparators in Java 8 (23:51)
5.5 Arrays.setAll() (1:59)
5.6 Single Map Methods getOrDefault(), merge(), putIfAbsent() (7:47)
6. Refactoring Our Code to use map()/collect() in the Bronze Age
6.1 Refactoring ContainerConfig.getContainerPropsFromXML() (3:24)
6.2 collect() in UtilCache.values() (1:58)
6.3 map():collect() in UtilDateTime.getTimeZones() (4:03)
6.4 map():collect() in EntityJoinOperator.freeze() (1:35)
6.5 Collection.forEach() in EntityJoinOperator.visit() (0:21)
6.6 map():filter():collect() in EntitytFinderUtil.createCondition() (1:40)
6.7 map():filter():collect() in EntityDataLoader.getUrlByComponentList() (0:39)
6.8 map():collect() in DelegatorContainer.start() (1:09)
6.9 map():sum() in OagisShipmentServices.oagisReceiveShowShipment() (4:20)
6.10 Arrays.setAll() in ShoppingListEvents.markCartItemsArray() (3:21)
7. Matching and Finding in Streams, Our Code is Nearing the Iron Age
7.1 Stream all:any:noneMatch() (2:06)
7.2 anyMatch() in MapContext.containsKey() (0:25)
7.3 allMatch() in FileUtil (1:43)
7.4 allMatch() in EntityJoinOperator.isEmpty() (0:24)
7.5 anyMatch() in ModelEntity.getHasFieldWithAuditLog() (0:43)
7.6 allMatch() in ModelEntity.areFields() (0:16)
7.7 collect() in ModelEntity.getFieldNamesFromFieldVector() (0:33)
7.8 anyMatch() in ProductPromoWOrker.hasOrderTotalCondition() (2:16)
7.9 Stream.findFirst:Any (1:57)
7.10 findFirst() in MapContext.get() (4:34)
7.11 Creating Stream from Spliterator in findFirst() in UtilObject.getObjectFromFactory() (3:38)
7.12 findFirst() in ModelRelation (0:58)
7.13 findFirst() in ShoppingCartItem (1:11)
7.14 findFirst() in LoadSale.selectedSale() (4:47)
7.15 Optional in OrderReadHelper.getShippableSizes() (5:00)
8. Finally, We Enter the Information Age (But a Monolithic One)
8.1 distinct() in PaymentGatewayServices.capturePaymentsByInvoice() (3:23)
8.2 filter():collect() in ContainerConfig.getPropertiesWithValue() (2:27)
8.3 map():sum() in UtilCache.getSizeInBytes() (4:23)
8.4 Deep Refactoring in UtilMisc.LocaleHolder.getAvailableLocaleList() (12:22)
8.5 filter():map():collect() in ModelGroupReader.getEntityNamesByGroup() (1:01)
8.6 map():reduce() in InvoiceServices.updatePaymentApplicationDefBd() (3:41)
8.7 Collectors.groupingBy() in ModelReader.rebuildResourceHandlerEntities() (4:58)
8.8 groupingBy():Checked Exception with ModelReader.getEntitiesByPackage() (13:42)
8.9 Creating Own Spliterator for NodeELResolver.getValue() (6:27)
8.10 Conclusion (1:11)
Teach online with
7.9 Stream.findFirst:Any
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock