net.sf.javagimmicks.collections.ArrayUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gimmicks Show documentation
Show all versions of gimmicks Show documentation
Utility classes, APIs and tools for Java
package net.sf.javagimmicks.collections;
import java.util.AbstractList;
import java.util.Arrays;
import java.util.List;
/**
* A set of utility methods for arrays especially for converting arrays into
* instances of {@link List} with implicit boxing of primitive types as well as
* methods for boxing primitive type arrays into respective wrapped type arrays.
*/
public class ArrayUtils
{
private ArrayUtils()
{}
/**
* Wraps the given array into a fixed-size {@link List} of the given array
* type.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*
* @see Arrays#asList(Object...)
*/
public static List asList(final E... array)
{
return Arrays.asList(array);
}
/**
* Wraps the given int
array into a fixed-size {@link List} of
* {@link Integer}s.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*/
public static List asList(final int... array)
{
return new AbstractList()
{
@Override
public Integer get(final int index)
{
return array[index];
}
@Override
public Integer set(final int index, final Integer element)
{
final int result = array[index];
array[index] = element;
return result;
}
@Override
public int size()
{
return array.length;
}
};
}
/**
* Wraps the given long
array into a fixed-size {@link List} of
* {@link Long}s.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*/
public static List asList(final long... array)
{
return new AbstractList()
{
@Override
public Long get(final int index)
{
return array[index];
}
@Override
public Long set(final int index, final Long element)
{
final long result = array[index];
array[index] = element;
return result;
}
@Override
public int size()
{
return array.length;
}
};
}
/**
* Wraps the given byte
array into a fixed-size {@link List} of
* {@link Byte}s.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*/
public static List asList(final byte... array)
{
return new AbstractList()
{
@Override
public Byte get(final int index)
{
return array[index];
}
@Override
public Byte set(final int index, final Byte element)
{
final byte result = array[index];
array[index] = element;
return result;
}
@Override
public int size()
{
return array.length;
}
};
}
/**
* Wraps the given short
array into a fixed-size {@link List} of
* {@link Short}s.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*/
public static List asList(final short... array)
{
return new AbstractList()
{
@Override
public Short get(final int index)
{
return array[index];
}
@Override
public Short set(final int index, final Short element)
{
final short result = array[index];
array[index] = element;
return result;
}
@Override
public int size()
{
return array.length;
}
};
}
/**
* Wraps the given float
array into a fixed-size {@link List} of
* {@link Float}s.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*/
public static List asList(final float... array)
{
return new AbstractList()
{
@Override
public Float get(final int index)
{
return array[index];
}
@Override
public Float set(final int index, final Float element)
{
final float result = array[index];
array[index] = element;
return result;
}
@Override
public int size()
{
return array.length;
}
};
}
/**
* Wraps the given double
array into a fixed-size {@link List}
* of {@link Double}s.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*/
public static List asList(final double... array)
{
return new AbstractList()
{
@Override
public Double get(final int index)
{
return array[index];
}
@Override
public Double set(final int index, final Double element)
{
final double result = array[index];
array[index] = element;
return result;
}
@Override
public int size()
{
return array.length;
}
};
}
/**
* Wraps the given boolean
array into a fixed-size {@link List}
* of {@link Boolean}s.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*/
public static List asList(final boolean... array)
{
return new AbstractList()
{
@Override
public Boolean get(final int index)
{
return array[index];
}
@Override
public Boolean set(final int index, final Boolean element)
{
final boolean result = array[index];
array[index] = element;
return result;
}
@Override
public int size()
{
return array.length;
}
};
}
/**
* Wraps the given char
array into a fixed-size {@link List} of
* {@link Character}s.
*
* @param array
* the array to wrap
* @return the resulting {@link List}
*/
public static List asList(final char... array)
{
return new AbstractList()
{
@Override
public Character get(final int index)
{
return array[index];
}
@Override
public Character set(final int index, final Character element)
{
final char result = array[index];
array[index] = element;
return result;
}
@Override
public int size()
{
return array.length;
}
};
}
/**
* Converts the given int
array into a {@link Integer} array.
*
* @param array
* the given array
* @return the converted array
*/
public static Integer[] wrap(final int... array)
{
return asList(array).toArray(new Integer[0]);
}
/**
* Converts the given long
array into a {@link Long} array.
*
* @param array
* the given array
* @return the converted array
*/
public static Long[] wrap(final long... array)
{
return asList(array).toArray(new Long[0]);
}
/**
* Converts the given byte
array into a {@link Byte} array.
*
* @param array
* the given array
* @return the converted array
*/
public static Byte[] wrap(final byte... array)
{
return asList(array).toArray(new Byte[0]);
}
/**
* Converts the given short
array into a {@link Short} array.
*
* @param array
* the given array
* @return the converted array
*/
public static Short[] wrap(final short... array)
{
return asList(array).toArray(new Short[0]);
}
/**
* Converts the given float
array into a {@link Float} array.
*
* @param array
* the given array
* @return the converted array
*/
public static Float[] wrap(final float... array)
{
return asList(array).toArray(new Float[0]);
}
/**
* Converts the given double
array into a {@link Double} array.
*
* @param array
* the given array
* @return the converted array
*/
public static Double[] wrap(final double... array)
{
return asList(array).toArray(new Double[0]);
}
/**
* Converts the given boolean
array into a {@link Boolean}
* array.
*
* @param array
* the given array
* @return the converted array
*/
public static Boolean[] wrap(final boolean... array)
{
return asList(array).toArray(new Boolean[0]);
}
/**
* Converts the given char
array into a {@link Character} array.
*
* @param array
* the given array
* @return the converted array
*/
public static Character[] wrap(final char... array)
{
return asList(array).toArray(new Character[0]);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy