Repository: commons-imaging Updated Branches: refs/heads/master 7862d6028 -> 51880b788
IMAGING-213: presize collections where possible Project: http://git-wip-us.apache.org/repos/asf/commons-imaging/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-imaging/commit/51880b78 Tree: http://git-wip-us.apache.org/repos/asf/commons-imaging/tree/51880b78 Diff: http://git-wip-us.apache.org/repos/asf/commons-imaging/diff/51880b78 Branch: refs/heads/master Commit: 51880b788df7130a1b6871559709b852379fbd8f Parents: 7862d60 Author: Dave Brosius <dbros...@mebigfatguy.com> Authored: Mon Jan 1 19:09:33 2018 -0500 Committer: Dave Brosius <dbros...@mebigfatguy.com> Committed: Mon Jan 1 19:09:33 2018 -0500 ---------------------------------------------------------------------- .../apache/commons/imaging/formats/ico/IcoImageParser.java | 2 +- .../apache/commons/imaging/formats/jpeg/JpegImageParser.java | 2 +- .../apache/commons/imaging/formats/png/PngImageParser.java | 7 ++++--- .../apache/commons/imaging/formats/tiff/TiffDirectory.java | 2 +- .../apache/commons/imaging/formats/tiff/TiffImageParser.java | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java index 0b91778..24d1066 100644 --- a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java @@ -587,10 +587,10 @@ public class IcoImageParser extends ImageParser { @Override public List<BufferedImage> getAllBufferedImages(final ByteSource byteSource) throws ImageReadException, IOException { - final List<BufferedImage> result = new ArrayList<>(); final ImageContents contents = readImage(byteSource); final FileHeader fileHeader = contents.fileHeader; + final List<BufferedImage> result = new ArrayList<>(fileHeader.iconCount); for (int i = 0; i < fileHeader.iconCount; i++) { final IconData iconData = contents.iconDatas[i]; http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java index c49a739..d409f02 100644 --- a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java @@ -790,9 +790,9 @@ public class JpegImageParser extends ImageParser { physicalHeightInch = (float) (height / (yDensity * unitsPerInch)); } - final List<String> comments = new ArrayList<>(); final List<Segment> commentSegments = readSegments(byteSource, new int[] { JpegConstants.COM_MARKER}, false); + final List<String> comments = new ArrayList<>(commentSegments.size()); for (final Segment commentSegment : commentSegments) { final ComSegment comSegment = (ComSegment) commentSegment; String comment = ""; http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java index a9ab830..a1a9ab4 100644 --- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java @@ -111,7 +111,7 @@ public class PngImageParser extends ImageParser { public List<String> getChunkTypes(final InputStream is) throws ImageReadException, IOException { final List<PngChunk> chunks = readChunks(is, null, false); - final List<String> chunkTypes = new ArrayList<>(); + final List<String> chunkTypes = new ArrayList<>(chunks.size()); for (final PngChunk chunk : chunks) { chunkTypes.add(getChunkTypeName(chunk.chunkType)); } @@ -392,8 +392,9 @@ public class PngImageParser extends ImageParser { final List<PngChunk> zTXts = filterChunks(chunks, ChunkType.zTXt); final List<PngChunk> iTXts = filterChunks(chunks, ChunkType.iTXt); - final List<String> comments = new ArrayList<>(); - final List<PngText> textChunks = new ArrayList<>(); + int chunkCount = tEXts.size() + zTXts.size() + iTXts.size(); + final List<String> comments = new ArrayList<>(chunkCount); + final List<PngText> textChunks = new ArrayList<>(chunkCount); for (final PngChunk tEXt : tEXts) { final PngChunkText pngChunktEXt = (PngChunkText) tEXt; http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java index f321c28..9499096 100644 --- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java +++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java @@ -727,7 +727,7 @@ public class TiffDirectory extends TiffElement { + ") != byteCounts.length(" + byteCounts.length + ")"); } - final List<ImageDataElement> result = new ArrayList<>(); + final List<ImageDataElement> result = new ArrayList<>(offsets.length); for (int i = 0; i < offsets.length; i++) { result.add(new ImageDataElement(offsets[i], byteCounts[i])); } http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java index d706db0..ada294c 100644 --- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java @@ -227,8 +227,8 @@ public class TiffImageParser extends ImageParser { // ------------------- - final List<String> comments = new ArrayList<>(); final List<TiffField> entries = directory.entries; + final List<String> comments = new ArrayList<>(entries.size()); for (final TiffField field : entries) { final String comment = field.toString(); comments.add(comment);