java.util包中比较常用的几个类

时间:2021-04-11 19:30:00
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 int binarySearch(byte[] a, byte key)
Searches the specified array of bytes for the specified value using the binary search algorithm.


static int binarySearch(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 int binarySearch(char[] a, char key)
Searches the specified array of chars for the specified value using the binary search algorithm.




static int binarySearch(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 int binarySearch(double[] a, double key)
Searches the specified array of doubles for the specified value using the binary search algorithm.


static int binarySearch(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 int binarySearch(float[] a, float key)
Searches the specified array of floats for the specified value using the binary search algorithm.
static int binarySearch(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 int binarySearch(int[] a, int key)
Searches the specified array of ints for the specified value using the binary search algorithm.
static int binarySearch(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 int binarySearch(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 int binarySearch(long[] a, long key)
Searches the specified array of longs for the specified value using the binary search algorithm.
static int binarySearch(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 int binarySearch(Object[] a, Object key)
Searches the specified array for the specified object using the binary search algorithm.
static int binarySearch(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 int binarySearch(short[] a, short key)
Searches the specified array of shorts for the specified value using the binary search algorithm.
static <T> int binarySearch(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> int binarySearch(T[] a, T key, Comparator<? super T> c)
Searches the specified array for the specified object using the binary search algorithm.
static void checkOffsetLenBounds(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 boolean deepEquals(Object[] a1, Object[] a2)
Returns true if the two specified arrays are deeply equal to one another.


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


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


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




static void fill(boolean[] a, boolean val)
Assigns the specified boolean value to each element of the specified array of booleans.
static void fill(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 void fill(byte[] a, byte val)
Assigns the specified byte value to each element of the specified array of bytes.
static void fill(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 void fill(char[] a, char val)
Assigns the specified char value to each element of the specified array of chars.
static void fill(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 void fill(double[] a, double val)
Assigns the specified double value to each element of the specified array of doubles.
static void fill(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 void fill(float[] a, float val)
Assigns the specified float value to each element of the specified array of floats.
static void fill(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 void fill(int[] a, int val)
Assigns the specified int value to each element of the specified array of ints.
static void fill(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 void fill(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 void fill(long[] a, long val)
Assigns the specified long value to each element of the specified array of longs.
static void fill(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 void fill(Object[] a, Object val)
Assigns the specified Object reference to each element of the specified array of Objects.
static void fill(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 void fill(short[] a, short val)
Assigns the specified short value to each element of the specified array of shorts.




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






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




<T> void parallelSetAll(double[] array, IntToDoubleFunction generator)
Initialize all elements of the specified array, in parallel, using the provided generator function to compute each element.
<T> void parallelSetAll(int[] array, IntUnaryOperator generator)
Initialize all elements of the specified array, in parallel, using the provided generator function to compute each element.
<T> void parallelSetAll(long[] array, IntToLongFunction generator)
Initialize all elements of the specified array, in parallel, using the provided generator function to compute each element.
<T> void parallelSetAll(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 void parallelSort(byte[] a)
Sorts the specified array into ascending numerical order.
static void parallelSort(byte[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static void parallelSort(char[] a)
Sorts the specified array into ascending numerical order.
static void parallelSort(char[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static void parallelSort(double[] a)
Sorts the specified array into ascending numerical order.
static void parallelSort(double[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static void parallelSort(float[] a)
Sorts the specified array into ascending numerical order.
static void parallelSort(float[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static void parallelSort(int[] a)
Sorts the specified array into ascending numerical order.
static void parallelSort(int[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static void parallelSort(long[] a)
Sorts the specified array into ascending numerical order.
static void parallelSort(long[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static void parallelSort(short[] a)
Sorts the specified array into ascending numerical order.
static void parallelSort(short[] a, int fromIndex, int toIndex)
Sorts the specified array into ascending numerical order.
static <T extends Comparable<? super T>> 
void parallelSort(T[] a)
Sorts the specified array of objects into ascending order, according to the natural ordering of its elements.
static <T> void parallelSort(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>> 
void parallelSort(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> void parallelSort(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 DoubleStream parallelStream(double[] array)
Creates a parallel DoubleStream backed by the provided double array.
static DoubleStream parallelStream(double[] array, int fromIndex, int toIndex)
Creates a parallel DoubleStream backed by a contiguous portion of the provided double array.
static IntStream parallelStream(int[] array)
Creates a parallel IntStream backed by the provided int array.
static IntStream parallelStream(int[] array, int fromIndex, int toIndex)
Creates a parallel IntStream backed by a contiguous portion of the provided int array.
static LongStream parallelStream(long[] array)
Creates a parallel LongStream backed by the provided long array.
static LongStream parallelStream(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.




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




static void sort(byte[] a)
Sorts the specified array into ascending numerical order.
static void sort(byte[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static void sort(char[] a)
Sorts the specified array into ascending numerical order.
static void sort(char[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static void sort(double[] a)
Sorts the specified array into ascending numerical order.
static void sort(double[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static void sort(float[] a)
Sorts the specified array into ascending numerical order.
static void sort(float[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static void sort(int[] a)
Sorts the specified array into ascending numerical order.
static void sort(int[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static void sort(long[] a)
Sorts the specified array into ascending numerical order.
static void sort(long[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static void sort(Object[] a)
Sorts the specified array of objects into ascending order, according to the natural ordering of its elements.
static void sort(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 void sort(short[] a)
Sorts the specified array into ascending numerical order.
static void sort(short[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
static <T> void sort(T[] a, Comparator<? super T> c)
Sorts the specified array of objects according to the order induced by the specified comparator.
static <T> void sort(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.OfDouble spliterator(double[] array)
Creates a Spliterator.OfDouble for the contents of the specified double array.
static Spliterator.OfDouble spliterator(double[] array, int fromIndex, int toIndex)
Creates a Spliterator.OfDouble for a contiguous portion of the specified double array.
static Spliterator.OfInt spliterator(int[] array)
Creates a Spliterator.OfInt for the contents of the specified integer array.
static Spliterator.OfInt spliterator(int[] array, int fromIndex, int toIndex)
Creates a Spliterator.OfInt for a contiguous portion of the specified integer array.
static Spliterator.OfLong spliterator(long[] array)
Creates a Spliterator.OfLong for the contents of the specified long array.
static Spliterator.OfLong spliterator(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 DoubleStream stream(double[] array)
Creates a sequential DoubleStream backed by the provided double array.
static DoubleStream stream(double[] array, int fromIndex, int toIndex)
Creates a sequential DoubleStream backed by a contiguous portion of the provided double array.
static IntStream stream(int[] array)
Creates a sequential IntStream backed by the provided int array.
static IntStream stream(int[] array, int fromIndex, int toIndex)
Creates a sequential IntStream backed by a contiguous portion of the provided int array.
static LongStream stream(long[] array)
Creates a sequential LongStream backed by the provided long array.
static LongStream stream(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 String toString(boolean[] a)
Returns a string representation of the contents of the specified array.
static String toString(byte[] a)
Returns a string representation of the contents of the specified array.
static String toString(char[] a)
Returns a string representation of the contents of the specified array.
static String toString(double[] a)
Returns a string representation of the contents of the specified array.
static String toString(float[] a)
Returns a string representation of the contents of the specified array.
static String toString(int[] a)
Returns a string representation of the contents of the specified array.
static String toString(long[] a)
Returns a string representation of the contents of the specified array.
static String toString(Object[] a)
Returns a string representation of the contents of the specified array.
static String toString(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.