Author: tilman Date: Sat Aug 30 19:20:39 2025 New Revision: 1928139 Log: PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #237
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java ============================================================================== --- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java Sat Aug 30 19:20:35 2025 (r1928138) +++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java Sat Aug 30 19:20:39 2025 (r1928139) @@ -180,12 +180,13 @@ public class PDNumberTreeNode implements if (numBase instanceof COSArray) { COSArray numbersArray = (COSArray) numBase; - indices = new HashMap<Integer, COSObjectable>(); - if (numbersArray.size() % 2 != 0) + int size = numbersArray.size(); + indices = new HashMap<Integer, COSObjectable>(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))