Author: tilman
Date: Mon Sep  8 11:28:23 2025
New Revision: 1928289

Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #248

Modified:
   
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationInk.java
   
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
   
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationInk.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationInk.java
        Mon Sep  8 11:28:18 2025        (r1928288)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationInk.java
        Mon Sep  8 11:28:23 2025        (r1928289)
@@ -143,7 +143,7 @@ public class FDFAnnotationInk extends FD
         COSArray array = annot.getCOSArray(COSName.INKLIST);
         if (array != null)
         {
-            List<float[]> retval = new ArrayList<>();
+            List<float[]> retval = new ArrayList<>(array.size());
             for (COSBase entry : array)
             {
                 retval.add(((COSArray) entry).toFloatArray());

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
   Mon Sep  8 11:28:18 2025        (r1928288)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
   Mon Sep  8 11:28:23 2025        (r1928289)
@@ -321,7 +321,7 @@ public class FDFDictionary implements CO
         COSArray fieldArray = fdf.getCOSArray(COSName.FIELDS);
         if (fieldArray != null)
         {
-            List<FDFField> fields = new ArrayList<>();
+            List<FDFField> fields = new ArrayList<>(fieldArray.size());
             for (int i = 0; i < fieldArray.size(); i++)
             {
                 fields.add(new FDFField((COSDictionary) 
fieldArray.getObject(i)));
@@ -372,7 +372,7 @@ public class FDFDictionary implements CO
         COSArray pageArray = fdf.getCOSArray(COSName.PAGES);
         if (pageArray != null)
         {
-            List<FDFPage> pages = new ArrayList<>();
+            List<FDFPage> pages = new ArrayList<>(pageArray.size());
             for (int i = 0; i < pageArray.size(); i++)
             {
                 pages.add(new FDFPage((COSDictionary) pageArray.get(i)));
@@ -433,7 +433,7 @@ public class FDFDictionary implements CO
         COSArray annotArray = fdf.getCOSArray(COSName.ANNOTS);
         if (annotArray != null)
         {
-            List<FDFAnnotation> annots = new ArrayList<>();
+            List<FDFAnnotation> annots = new ArrayList<>(annotArray.size());
             for (int i = 0; i < annotArray.size(); i++)
             {
                 annots.add(FDFAnnotation.create((COSDictionary) 
annotArray.getObject(i)));
@@ -508,7 +508,7 @@ public class FDFDictionary implements CO
         COSArray embeddedArray = fdf.getCOSArray(COSName.EMBEDDED_FDFS);
         if (embeddedArray != null)
         {
-            List<PDFileSpecification> embedded = new ArrayList<>();
+            List<PDFileSpecification> embedded = new 
ArrayList<>(embeddedArray.size());
             for (int i = 0; i < embeddedArray.size(); i++)
             {
                 
embedded.add(PDFileSpecification.createFS(embeddedArray.get(i)));

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
     Mon Sep  8 11:28:18 2025        (r1928288)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
     Mon Sep  8 11:28:23 2025        (r1928289)
@@ -94,7 +94,7 @@ public class FDFTemplate implements COSO
         COSArray array = template.getCOSArray(COSName.FIELDS);
         if (array != null)
         {
-            List<FDFField> fields = new ArrayList<>();
+            List<FDFField> fields = new ArrayList<>(array.size());
             for (int i = 0; i < array.size(); i++)
             {
                 fields.add(new FDFField((COSDictionary) array.getObject(i)));

Reply via email to