|
@ -1,103 +1,135 @@ |
|
|
package io.sc.platform.util; |
|
|
package io.sc.platform.util; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.Date; |
|
|
|
|
|
|
|
|
public class ArrayUtil { |
|
|
public class ArrayUtil { |
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(boolean[] arrays) { |
|
|
public static boolean hasElements(boolean[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(byte[] arrays) { |
|
|
public static boolean hasElements(byte[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(char[] arrays) { |
|
|
public static boolean hasElements(char[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(short[] arrays) { |
|
|
public static boolean hasElements(short[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(int[] arrays) { |
|
|
public static boolean hasElements(int[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(long[] arrays) { |
|
|
public static boolean hasElements(long[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(float[] arrays) { |
|
|
public static boolean hasElements(float[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(double[] arrays) { |
|
|
public static boolean hasElements(double[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组是否含有元素 |
|
|
* 获取数组是否含有元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组是否含有元素 |
|
|
* @return 数组是否含有元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean hasElements(Object[] arrays) { |
|
|
public static boolean hasElements(Object[] arrays) { |
|
|
if(arrays==null){ return false; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return arrays.length > 0; |
|
|
return arrays.length > 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static boolean max(boolean[] arrays) { |
|
|
public static boolean max(boolean[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
for (boolean v : arrays) { |
|
|
for (boolean v : arrays) { |
|
|
if (v) { |
|
|
if (v) { |
|
|
return true; |
|
|
return true; |
|
@ -108,11 +140,14 @@ public class ArrayUtil { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static byte max(byte[] arrays) { |
|
|
public static byte max(byte[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
byte r = arrays[0]; |
|
|
byte r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] > r) { |
|
|
if (arrays[i] > r) { |
|
@ -124,11 +159,14 @@ public class ArrayUtil { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static char max(char[] arrays) { |
|
|
public static char max(char[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
char r = arrays[0]; |
|
|
char r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] > r) { |
|
|
if (arrays[i] > r) { |
|
@ -140,11 +178,14 @@ public class ArrayUtil { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static short max(short[] arrays) { |
|
|
public static short max(short[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
short r = arrays[0]; |
|
|
short r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] > r) { |
|
|
if (arrays[i] > r) { |
|
@ -156,11 +197,14 @@ public class ArrayUtil { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static int max(int[] arrays) { |
|
|
public static int max(int[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
int r = arrays[0]; |
|
|
int r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] > r) { |
|
|
if (arrays[i] > r) { |
|
@ -172,11 +216,14 @@ public class ArrayUtil { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static long max(long[] arrays) { |
|
|
public static long max(long[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
long r = arrays[0]; |
|
|
long r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] > r) { |
|
|
if (arrays[i] > r) { |
|
@ -188,11 +235,14 @@ public class ArrayUtil { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static float max(float[] arrays) { |
|
|
public static float max(float[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
float r = arrays[0]; |
|
|
float r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] > r) { |
|
|
if (arrays[i] > r) { |
|
@ -204,11 +254,14 @@ public class ArrayUtil { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static double max(double[] arrays) { |
|
|
public static double max(double[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
double r = arrays[0]; |
|
|
double r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] > r) { |
|
|
if (arrays[i] > r) { |
|
@ -220,11 +273,14 @@ public class ArrayUtil { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取数组中最大的元素 |
|
|
* 获取数组中最大的元素 |
|
|
|
|
|
* |
|
|
* @param arrays 数组对象 |
|
|
* @param arrays 数组对象 |
|
|
* @return 数组中最大的元素 |
|
|
* @return 数组中最大的元素 |
|
|
*/ |
|
|
*/ |
|
|
public static Comparable max(Comparable[] arrays) { |
|
|
public static Comparable max(Comparable[] arrays) { |
|
|
if(arrays==null){ return null; } |
|
|
if (arrays == null) { |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
Comparable r = arrays[0]; |
|
|
Comparable r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i].compareTo(r) > 0) { |
|
|
if (arrays[i].compareTo(r) > 0) { |
|
@ -234,13 +290,10 @@ public class ArrayUtil { |
|
|
return r; |
|
|
return r; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static boolean min(boolean[] arrays) { |
|
|
public static boolean min(boolean[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
for (boolean v : arrays) { |
|
|
for (boolean v : arrays) { |
|
|
if (!v) { |
|
|
if (!v) { |
|
|
return false; |
|
|
return false; |
|
@ -250,7 +303,9 @@ public class ArrayUtil { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static byte min(byte[] arrays) { |
|
|
public static byte min(byte[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
byte r = arrays[0]; |
|
|
byte r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] < r) { |
|
|
if (arrays[i] < r) { |
|
@ -261,7 +316,9 @@ public class ArrayUtil { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static char min(char[] arrays) { |
|
|
public static char min(char[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
char r = arrays[0]; |
|
|
char r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] < r) { |
|
|
if (arrays[i] < r) { |
|
@ -272,7 +329,9 @@ public class ArrayUtil { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static short min(short[] arrays) { |
|
|
public static short min(short[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
short r = arrays[0]; |
|
|
short r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] < r) { |
|
|
if (arrays[i] < r) { |
|
@ -283,7 +342,9 @@ public class ArrayUtil { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static int min(int[] arrays) { |
|
|
public static int min(int[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
int r = arrays[0]; |
|
|
int r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] < r) { |
|
|
if (arrays[i] < r) { |
|
@ -294,7 +355,9 @@ public class ArrayUtil { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static long min(long[] arrays) { |
|
|
public static long min(long[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
long r = arrays[0]; |
|
|
long r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] < r) { |
|
|
if (arrays[i] < r) { |
|
@ -305,7 +368,9 @@ public class ArrayUtil { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static float min(float[] arrays) { |
|
|
public static float min(float[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
float r = arrays[0]; |
|
|
float r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] < r) { |
|
|
if (arrays[i] < r) { |
|
@ -316,7 +381,9 @@ public class ArrayUtil { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static double min(double[] arrays) { |
|
|
public static double min(double[] arrays) { |
|
|
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } |
|
|
if (arrays == null) { |
|
|
|
|
|
throw new RuntimeException("parameter must NOT null"); |
|
|
|
|
|
} |
|
|
double r = arrays[0]; |
|
|
double r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i] < r) { |
|
|
if (arrays[i] < r) { |
|
@ -327,7 +394,9 @@ public class ArrayUtil { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static Comparable min(Comparable[] arrays) { |
|
|
public static Comparable min(Comparable[] arrays) { |
|
|
if(arrays==null){ return null; } |
|
|
if (arrays == null || arrays.length == 0) { |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
Comparable r = arrays[0]; |
|
|
Comparable r = arrays[0]; |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
for (int i = 1; i < arrays.length; i++) { |
|
|
if (arrays[i].compareTo(r) < 0) { |
|
|
if (arrays[i].compareTo(r) < 0) { |
|
|