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))