Hi Alan,

as long as pdfbox supports jdk1.4, we are not able to use java5/6 features, but 
thanks for your suggestion.

BR
Andreas Lehmkühler

>         I was iterating over some pages in a PDDocument, and did it this 
> way:
> 
>             List pages = document.getDocumentCatalog().getAllPages();
>             for (Object obj : pages)
>             {
>                 PDPage page = (PDPage)obj;
> 
> because the list returned by PDDocumentCatalog.getAllPages() is declared as
> 
> an
> ArrayList vice an ArrayList of PDPages (see below).  Thus, the extra type 
> conversion
> in every iteration.
> 
>     public List getAllPages()
>     {
>         List retval = new ArrayList();
>         PDPageNode rootNode = getPages();
>         //old (slower):
>         //getPageObjects( rootNode, retval );
>         rootNode.getAllKids(retval);
>         return retval;
>     }
> 
>        The Java 6 "for" loop is typically 25+% faster for iterating over a 
> list than using a list iterator.
> However, in this case, it made no difference (over 10-20 iterations and only
> 
> looking at seconds).
> 
>        Would it be possible to do this sort of optimizations esp. on methods
> 
> that return a list of pages?
> I realize there may be many complications of which I am not aware.

Reply via email to