1. 程式人生 > >java.util包中比較常用的幾個類

java.util包中比較常用的幾個類

Objects,Arrays,Comparators


一,java.util包下有個類 :Objects


This class consists of static utility methods for operating on objects


基於物件的靜態實用的的方法.




static<T> int compare(T a,T b,Comparator<? super T> c);


static boolean deepEquals(Object a,Object b);


static boolean equals(Object a,Object b);


static int hash(Object... values);


static int hashCode(Object o);


static boolean isNull(Object obj);


static boolean nonNull(Object obj);


static <T> T requireNonNull(T obj);


static <T> T requireNonNull(T obj,String message);


static String toString(Object o);


static String toString(Object o,String nullDefault);




二,java.util包下有個類:Arrays




This class contains various methods for manipulating arrays (such as sorting and searching). This class also contains a static factory that allows arrays to be viewed as lists.


運算元組的各種實用方法.


static <T> List<T>asList(T... a)
Returns a fixed-size list backed by the specified array.


static intbinarySearch(byte[] a, byte key)
Searches the specified array of bytes for the specified value using the binary search algorithm.


static intbinarySearch(byte[] a, int fromIndex, int toIndex, byte key)
Searches a range of the specified array of bytes for the specified value using the binary search algorithm.


static intbinarySearch(char[] a, char key)
Searches the specified array of chars for the specified value using the binary search algorithm.




static intbinarySearch(char[] a, int fromIndex, int toIndex, char key)
Searches a range of the specified array of chars for the specified value using the binary search algorithm.




static intbinarySearch(double[] a, double key)
Searches the specified array of doubles for the specified value using the binary search algorithm.


static intbinarySearch(double[] a, int fromIndex, int toIndex, double key)
Searches a range of the specified array of doubles for the specified value using the binary search algorithm.


static intbinarySearch(float[] a, float key)
Searches the specified array of floats for the specified value using the binary search algorithm.
static intbinarySearch(float[] a, int fromIndex, int toIndex, float key)
Searches a range of the specified array of floats for the specified value using the binary search algorithm.
static intbinarySearch(int[] a, int key)
Searches the specified array of ints for the specified value using the binary search algorithm.
static intbinarySearch(int[] a, int fromIndex, int toIndex, int key)
Searches a range of the specified array of ints for the specified value using the binary search algorithm.
static intbinarySearch(long[] a, int fromIndex, int toIndex, long key)
Searches a range of the specified array of longs for the specified value using the binary search algorithm.
static intbinarySearch(long[] a, long key)
Searches the specified array of longs for the specified value using the binary search algorithm.
static intbinarySearch(Object[] a, int fromIndex, int toIndex, Object key)
Searches a range of the specified array for the specified object using the binary search algorithm.
static intbinarySearch(Object[] a, Object key)
Searches the specified array for the specified object using the binary search algorithm.
static intbinarySearch(short[] a, int fromIndex, int toIndex, short key)
Searches a range of the specified array of shorts for the specified value using the binary search algorithm.
static intbinarySearch(short[] a, short key)
Searches the specified array of shorts for the specified value using the binary search algorithm.
static <T> intbinarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c)
Searches a range of the specified array for the specified object using the binary search algorithm.
static <T> intbinarySearch(T[] a, T key, Comparator<? super T> c)
Searches the specified array for the specified object using the binary search algorithm.
static voidcheckOffsetLenBounds(int arrayLength, int offset, int length)
Checks that the half-open interval from offset to offset+length are within the range of valid array indexes, and throws an exception if they aren't.


static boolean[]copyOf(boolean[] original, int newLength)
Copies the specified array, truncating or padding with false (if necessary) so the copy has the specified length.
static byte[]copyOf(byte[] original, int newLength)
Copies the specified array, truncating or padding with zeros (if necessary) so the copy has the specified length.
static char[]copyOf(char[] original, int newLength)
Copies the specified array, truncating or padding with null characters (if necessary) so the copy has the specified length.
static double[]copyOf(double[] original, int newLength)
Copies the specified array, truncating or padding with zeros (if necessary) so the copy has the specified length.
static float[]copyOf(float[] original, int newLength)
Copies the specified array, truncating or padding with zeros (if necessary) so the copy has the specified length.
static int[]copyOf(int[] original, int newLength)
Copies the specified array, truncating or padding with zeros (if necessary) so the copy has the specified length.
static long[]copyOf(long[] original, int newLength)
Copies the specified array, truncating or padding with zeros (if necessary) so the copy has the specified length.
static short[]copyOf(short[] original, int newLength)
Copies the specified array, truncating or padding with zeros (if necessary) so the copy has the specified length.
static <T> T[]copyOf(T[] original, int newLength)
Copies the specified array, truncating or padding with nulls (if necessary) so the copy has the specified length.
static <T,U> T[]copyOf(U[] original, int newLength, Class<? extends T[]> newType)
Copies the specified array, truncating or padding with nulls (if necessary) so the copy has the specified length.




static boolean[]copyOfRange(boolean[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static byte[]copyOfRange(byte[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static char[]copyOfRange(char[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static double[]copyOfRange(double[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static float[]copyOfRange(float[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static int[]copyOfRange(int[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static long[]copyOfRange(long[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static short[]copyOfRange(short[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static <T> T[]copyOfRange(T[] original, int from, int to)
Copies the specified range of the specified array into a new array.
static <T,U> T[]copyOfRange(U[] original, int from, int to, Class<? extends T[]> newType)
Copies the specified range of the specified array into a new array.




static booleandeepEquals(Object[] a1, Object[] a2)
Returns true if the two specified arrays are deeply equal to one another.


static intdeepHashCode(Object[] a)
Returns a hash code based on the "deep contents" of the specified array.


static StringdeepToString(Object[] a)
Returns a string representation of the "deep contents" of the specified array.


static booleanequals(boolean[] a, boolean[] a2)
Returns true if the two specified arrays of booleans are equal to one another.
static booleanequals(byte[] a, byte[] a2)
Returns true if the two specified arrays of bytes are equal to one another.
static booleanequals(char[] a, char[] a2)
Returns true if the two specified arrays of chars are equal to one another.
static booleanequals(double[] a, double[] a2)
Returns true if the two specified arrays of doubles are equal to one another.
static booleanequals(float[] a, float[] a2)
Returns true if the two specified arrays of floats are equal to one another.
static booleanequals(int[] a, int[] a2)
Returns true if the two specified arrays of ints are equal to one another.
static booleanequals(long[] a, long[] a2)
Returns true if the two specified arrays of longs are equal to one another.
static booleanequals(Object[] a, Object[] a2)
Returns true if the two specified arrays of Objects are equal to one another.
static booleanequals(short[] a, short[] a2)
Returns true if the two specified arrays of shorts are equal to one another.




static voidfill(boolean[] a, boolean val)
Assigns the specified boolean value to each element of the specified array of booleans.
static voidfill(boolean[] a, int fromIndex, int toIndex, boolean val)
Assigns the specified boolean value to each element of the specified range of the specified array of booleans.
static voidfill(byte[] a, byte val)
Assigns the specified byte value to each element of the specified array of bytes.
static voidfill(byte[] a, int fromIndex, int toIndex, byte val)
Assigns the specified byte value to each element of the specified range of the specified array of bytes.
static voidfill(char[] a, char val)
Assigns the specified char value to each element of the specified array of chars.
static voidfill(char[] a, int fromIndex, int toIndex, char val)
Assigns the specified char value to each element of the specified range of the specified array of chars.
static voidfill(double[] a, double val)
Assigns the specified double value to each element of the specified array of doubles.
static voidfill(double[] a, int fromIndex, int toIndex, double val)
Assigns the specified double value to each element of the specified range of the specified array of doubles.
static voidfill(float[] a, float val)
Assigns the specified float value to each element of the specified array of floats.
static voidfill(float[] a, int fromIndex, int toIndex, float val)
Assigns the specified float value to each element of the specified range of the specified array of floats.
static voidfill(int[] a, int val)
Assigns the specified int value to each element of the specified array of ints.
static voidfill(int[] a, int fromIndex, int toIndex, int val)
Assigns the specified int value to each element of the specified range of the specified array of ints.
static voidfill(long[] a, int fromIndex, int toIndex, long val)
Assigns the specified long value to each element of the specified range of the specified array of longs.
static voidfill(long[] a, long val)
Assigns the specified long value to each element of the specified array of longs.
static voidfill(Object[] a, int fromIndex, int toIndex, Object val)
Assigns the specified Object reference to each element of the specified range of the specified array of Objects.
static voidfill(Object[] a, Object val)
Assigns the specified Object reference to each element of the specified array of Objects.
static voidfill(short[] a, int fromIndex, int toIndex, short val)
Assigns the specified short value to each element of the specified range of the specified array of shorts.
static voidfill(short[] a, short val)
Assigns the specified short value to each element of the specified array of shorts.




static inthashCode(boolean[] a)
Returns a hash code based on the contents of the specified array.
static inthashCode(byte[] a)
Returns a hash code based on the contents of the specified array.
static inthashCode(char[] a)
Returns a hash code based on the contents of the specified array.
static inthashCode(double[] a)
Returns a hash code based on the contents of the specified array.
static inthashCode(float[] a)
Returns a hash code based on the contents of the specified array.
static inthashCode(int[] a)
Returns a hash code based on the contents of the specified array.
static inthashCode(long[] a)
Returns a hash code based on the contents of the specified array.
static inthashCode(Object[] a)
Returns a hash code based on the contents of the specified array.
static inthashCode(short[] a)
Returns a hash code based on the contents of the specified array.






static voidparallelPrefix(double[] array, DoubleBinaryOperator op)
Cumulates in parallel each element of the given array in place, using the supplied function.
static voidparallelPrefix(double[] array, int fromIndex, int toIndex, DoubleBinaryOperator op)
Performs parallelPrefix(double[], DoubleBinaryOperator) for the given subrange of the array.
static voidparallelPrefix(int[] array, IntBinaryOperator op)
Cumulates in parallel each element of the given array in place, using the supplied function.
static voidparallelPrefix(int[] array, int fromIndex, int toIndex, IntBinaryOperator op)
Performs parallelPrefix(int[], IntBinaryOperator) for the given subrange of the array.
static voidparallelPrefix(long[] array, int fromIndex, int toIndex, LongBinaryOperator op)
Performs parallelPrefix(long[], LongBinaryOperator) for the given subrange of the array.
static voidparallelPrefix(long[] array, LongBinaryOperator op)
Cumulates in parallel each element of the given array in place, using the supplied function.
static <T> voidparallelPrefix(T[] array, BinaryOperator<T> op)
Cumulates in parallel each element of the given array in place, using the supplied function.
static <T> voidparallelPrefix(T[] array, int fromIndex, int toIndex, BinaryOperator<T> op)
Performs parallelPrefix(Object[], BinaryOperator) for the given subrange of the array.




<T> voidparallelSetAll(double[] array, IntToDoubleFunction generator)
Initialize all elements of the specified array, in parallel, using the provided generator function to compute each element.
<T> voidparallelSetAll(int[] array, IntUnaryOperator generator)
Initialize all elements of the specified array, in parallel, using the provided generator function to compute each element.
<T> voidparallelSetAll(long[] array, IntToLongFunction generator)
Initialize all elements of the specified array, in parallel, using the provided generator function to compute each element.
<T> voidparallelSetAll(T[] array, IntFunction<? extends T> generator)
Initializes all elements of the specified array, in parallel, using the provided generator function to compute each element.




static voidparallelSort(byte[] a)
Sorts the specified array into ascending numerical order.
static voidparallelSort(byte[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static voidparallelSort(char[] a)
Sorts the specified array into ascending numerical order.
static voidparallelSort(char[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static voidparallelSort(double[] a)
Sorts the specified array into ascending numerical order.
static voidparallelSort(double[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static voidparallelSort(float[] a)
Sorts the specified array into ascending numerical order.
static voidparallelSort(float[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static voidparallelSort(int[] a)
Sorts the specified array into ascending numerical order.
static voidparallelSort(int[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static voidparallelSort(long[] a)
Sorts the specified array into ascending numerical order.
static voidparallelSort(long[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static voidparallelSort(short[] a)
Sorts the specified array into ascending numerical order.
static voidparallelSort(short[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static <T extends Comparable<? super T>> 
voidparallelSort(T[] a)
Sorts the specified array of objects into ascending order, according to the natural ordering of its elements.
static <T> voidparallelSort(T[] a, Comparator<? super T> cmp)
Sorts the specified array of objects according to the order induced by the specified comparator.
static <T extends Comparable<? super T>> 
voidparallelSort(T[] a, int fromIndex, int toIndex)
Sorts the specified range of the specified array of objects into ascending order, according to the natural ordering of its elements.
static <T> voidparallelSort(T[] a, int fromIndex, int toIndex, Comparator<? super T> cmp)
Sorts the specified range of the specified array of objects according to the order induced by the specified comparator.






static DoubleStreamparallelStream(double[] array)
Creates a parallel DoubleStream backed by the provided double array.
static DoubleStreamparallelStream(double[] array, int fromIndex, int toIndex)
Creates a parallel DoubleStream backed by a contiguous portion of the provided double array.
static IntStreamparallelStream(int[] array)
Creates a parallel IntStream backed by the provided int array.
static IntStreamparallelStream(int[] array, int fromIndex, int toIndex)
Creates a parallel IntStream backed by a contiguous portion of the provided int array.
static LongStreamparallelStream(long[] array)
Creates a parallel LongStream backed by the provided long array.
static LongStreamparallelStream(long[] array, int fromIndex, int toIndex)
Creates a parallel LongStream backed by a contiguous portion of the provided long array.
static <T> Stream<T>parallelStream(T[] array)
Creates a parallel Stream backed by the provided array.
static <T> Stream<T>parallelStream(T[] array, int fromIndex, int toIndex)
Creates a parallel Stream backed by a contiguous portion of the provided array.




voidsetAll(double[] array, IntToDoubleFunction generator)
Initialize all elements of the specified array, using the provided generator function to compute each element.
voidsetAll(int[] array, IntUnaryOperator generator)
Initialize all elements of the specified array, using the provided generator function to compute each element.
voidsetAll(long[] array, IntToLongFunction generator)
Initialize all elements of the specified array, using the provided generator function to compute each element.
<T> voidsetAll(T[] array, IntFunction<? extends T> generator)
Initializes all elements of the specified array, using the provided generator function to compute each element.




static voidsort(byte[] a)
Sorts the specified array into ascending numerical order.
static voidsort(byte[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static voidsort(char[] a)
Sorts the specified array into ascending numerical order.
static voidsort(char[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static voidsort(double[] a)
Sorts the specified array into ascending numerical order.
static voidsort(double[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static voidsort(float[] a)
Sorts the specified array into ascending numerical order.
static voidsort(float[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static voidsort(int[] a)
Sorts the specified array into ascending numerical order.
static voidsort(int[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static voidsort(long[] a)
Sorts the specified array into ascending numerical order.
static voidsort(long[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static voidsort(Object[] a)
Sorts the specified array of objects into ascending order, according to the natural ordering of its elements.
static voidsort(Object[] a, int fromIndex, int toIndex)
Sorts the specified range of the specified array of objects into ascending order, according to the natural ordering of its elements.
static voidsort(short[] a)
Sorts the specified array into ascending numerical order.
static voidsort(short[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static <T> voidsort(T[] a, Comparator<? super T> c)
Sorts the specified array of objects according to the order induced by the specified comparator.
static <T> voidsort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
Sorts the specified range of the specified array of objects according to the order induced by the specified comparator.




static Spliterator.OfDoublespliterator(double[] array)
Creates a Spliterator.OfDouble for the contents of the specified double array.
static Spliterator.OfDoublespliterator(double[] array, int fromIndex, int toIndex)
Creates a Spliterator.OfDouble for a contiguous portion of the specified double array.
static Spliterator.OfIntspliterator(int[] array)
Creates a Spliterator.OfInt for the contents of the specified integer array.
static Spliterator.OfIntspliterator(int[] array, int fromIndex, int toIndex)
Creates a Spliterator.OfInt for a contiguous portion of the specified integer array.
static Spliterator.OfLongspliterator(long[] array)
Creates a Spliterator.OfLong for the contents of the specified long array.
static Spliterator.OfLongspliterator(long[] array, int fromIndex, int toIndex)
Creates a Spliterator.OfLong for a contiguous portion of the specified long array.
static <T> Spliterator<T>spliterator(T[] array)
Creates a Spliterator for the contents of the specified array.
static <T> Spliterator<T>spliterator(T[] array, int fromIndex, int toIndex)
Creates a Spliterator for a contiguous portion of the specified array.






static DoubleStreamstream(double[] array)
Creates a sequential DoubleStream backed by the provided double array.
static DoubleStreamstream(double[] array, int fromIndex, int toIndex)
Creates a sequential DoubleStream backed by a contiguous portion of the provided double array.
static IntStreamstream(int[] array)
Creates a sequential IntStream backed by the provided int array.
static IntStreamstream(int[] array, int fromIndex, int toIndex)
Creates a sequential IntStream backed by a contiguous portion of the provided int array.
static LongStreamstream(long[] array)
Creates a sequential LongStream backed by the provided long array.
static LongStreamstream(long[] array, int fromIndex, int toIndex)
Creates a sequential LongStream backed by a contiguous portion of the provided long array.
static <T> Stream<T>stream(T[] array)
Creates a sequential Stream backed by the provided array.
static <T> Stream<T>stream(T[] array, int fromIndex, int toIndex)
Creates a sequential Stream backed by a contiguous portion of the provided array.








static StringtoString(boolean[] a)
Returns a string representation of the contents of the specified array.
static StringtoString(byte[] a)
Returns a string representation of the contents of the specified array.
static StringtoString(char[] a)
Returns a string representation of the contents of the specified array.
static StringtoString(double[] a)
Returns a string representation of the contents of the specified array.
static StringtoString(float[] a)
Returns a string representation of the contents of the specified array.
static StringtoString(int[] a)
Returns a string representation of the contents of the specified array.
static StringtoString(long[] a)
Returns a string representation of the contents of the specified array.
static StringtoString(Object[] a)
Returns a string representation of the contents of the specified array.
static StringtoString(short[] a)
Returns a string representation of the contents of the specified array.






三,java.util包中的類:Comparators


This class consists of static utility methods for comparators.


static <K,V> Comparator<Map.Entry<K,V>>byKey(Comparator<? super K> cmp)
Gets a comparator compares Map.Entry by key using the given Comparator.


static <K,V> Comparator<Map.Entry<K,V>>byValue(Comparator<? super V> cmp)
Gets a comparator compares Map.Entry by value using the given Comparator.


static <T,U extends Comparable<? super U>> 
Comparator<T>comparing(Function<? super T,? extends U> keyExtractor)
Accepts a function that extracts a Comparable sort key from a type T, and returns a Comparator<T> that compares by that sort key.


static <T,U> Comparator<T>comparing(Function<? super T,? extends U> keyExtractor, Comparator<? super U> cmp)
Accepts a function that extracts a sort key from a type T, and returns a Comparator<T> that compares by that sort key using specified Comparator.


static <T> Comparator<T>comparing(ToDoubleFunction<? super T> keyExtractor)
Accepts a function that extracts a double value from a type T, and returns a Comparator<T> that compares by that value.




static <T> Comparator<T>comparing(ToIntFunction<? super T> keyExtractor)
Accepts a function that extracts an int value from a type T, and returns a Comparator<T> that compares by that value.




static <T> Comparator<T>comparing(ToLongFunction<? super T> keyExtractor)
Accepts a function that extracts a long value from a type T, and returns a Comparator<T> that compares by that value.




static <T> BinaryOperator<T>greaterOf(Comparator<? super T> comparator)
Constructs a BinaryOperator which returns the greater of two elements according to the specified Comparator


static <T> BinaryOperator<T>lesserOf(Comparator<? super T> comparator)
Constructs a BinaryOperator which returns the lesser of two elements according to the specified Comparator


static <T extends Comparable<? super T>> Comparator<T>naturalOrder()
Gets a comparator compares Comparable type in natural order.


static <K extends Comparable<? super K>,V> Comparator<Map.Entry<K,V>>naturalOrderKeys()
Gets a comparator compares Map.Entry in natural order on key.




static <K,V extends Comparable<? super V>> Comparator<Map.Entry<K,V>>naturalOrderValues()
Gets a comparator compares Map.Entry in natural order on value.


static <T extends Comparable<? super T>> Comparator<T>reverseOrder()
Returns a comparator that imposes the reverse of the natural ordering.