Java Array Capacity ensureCapacity(byte array[], int capacity)

Here you can find the source of ensureCapacity(byte array[], int capacity)

Description

ensure Capacity

License

Open Source License

Declaration

public static byte[] ensureCapacity(byte array[], int capacity) 

Method Source Code

//package com.java2s;
/**//from w  w w.j a  v  a 2s  . c o  m
 * JLibs: Common Utilities for Java
 * Copyright (C) 2009  Santhosh Kumar T <santhosh.tekuri@gmail.com>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 */

import java.util.Arrays;

public class Main {
    public static byte[] ensureCapacity(byte array[], int capacity) {
        if (capacity <= 0 || capacity - array.length <= 0)
            return array;

        int newCapacity = array.length * 2;
        if (newCapacity - capacity < 0)
            newCapacity = capacity;
        if (newCapacity < 0) {
            if (capacity < 0) // overflow
                throw new OutOfMemoryError();
            newCapacity = Integer.MAX_VALUE;
        }
        return Arrays.copyOf(array, newCapacity);
    }

    public static char[] ensureCapacity(char array[], int capacity) {
        if (capacity <= 0 || capacity - array.length <= 0)
            return array;

        int newCapacity = array.length * 2;
        if (newCapacity - capacity < 0)
            newCapacity = capacity;
        if (newCapacity < 0) {
            if (capacity < 0) // overflow
                throw new OutOfMemoryError();
            newCapacity = Integer.MAX_VALUE;
        }
        return Arrays.copyOf(array, newCapacity);
    }
}

Related

  1. ensureCapacity(byte[] bytes, int capacity)
  2. ensureCapacity(final double[] array, final int minCapacity)
  3. ensureCapacity(final T[] oldElements, final int requiredLength)
  4. reduceCapacity(Object[] arrays)