diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-06-10 14:53:00 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-06-10 14:53:00 +0100 |
| commit | dad067938edd2175cdb90a7ad7b5f58c0e19d2d9 (patch) | |
| tree | 1e84edde86bc3fab1232499945d8782cea5ad6de /src/main/java/org/zwobble | |
| parent | 67267f154223f015ddf8c0b0316b83563404c1d5 (diff) | |
Use lazy iterables instead of streams
Diffstat (limited to 'src/main/java/org/zwobble')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java b/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java index 8d29393..764bb87 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java @@ -1,10 +1,11 @@ package org.zwobble.mammoth.internal.docx; import org.zwobble.mammoth.internal.documents.NumberingLevel; +import org.zwobble.mammoth.internal.util.Iterables; +import org.zwobble.mammoth.internal.util.Maps; import java.util.Map; import java.util.Optional; -import java.util.stream.Collectors; import static org.zwobble.mammoth.internal.util.Maps.lookup; import static org.zwobble.mammoth.internal.util.Maps.map; @@ -66,10 +67,16 @@ public class Numbering { Styles styles ) { this.abstractNums = abstractNums; - this.levelsByParagraphStyleId = abstractNums.values().stream() - .flatMap(abstractNum -> abstractNum.levels.values().stream()) - .filter(level -> level.paragraphStyleId.isPresent()) - .collect(Collectors.toMap(level -> level.paragraphStyleId.get(), level -> level)); + this.levelsByParagraphStyleId = Maps.toMapWithKey( + Iterables.lazyFilter( + Iterables.lazyFlatMap( + abstractNums.values(), + abstractNum -> abstractNum.levels.values() + ), + level -> level.paragraphStyleId.isPresent() + ), + level -> level.paragraphStyleId.get() + ); this.nums = nums; this.styles = styles; } |
