Author: tilman Date: Sat Aug 30 19:20:31 2025 New Revision: 1928137 Log: PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #237
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java Sat Aug 30 19:03:06 2025 (r1928136) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java Sat Aug 30 19:20:31 2025 (r1928137) @@ -180,12 +180,13 @@ public class PDNumberTreeNode implements COSArray numbersArray = node.getCOSArray(COSName.NUMS); if (numbersArray != null) { - indices = new HashMap<>(); - if (numbersArray.size() % 2 != 0) + int size = numbersArray.size(); + indices = new HashMap<>(size / 2); + if (size % 2 != 0) { - LOG.warn("Numbers array has odd size: {}", numbersArray.size()); + LOG.warn("Numbers array has odd size: {}", size); } - for (int i = 0; i + 1 < numbersArray.size(); i += 2) + for (int i = 0; i + 1 < size; i += 2) { COSBase base = numbersArray.getObject(i); if (!(base instanceof COSInteger))