EasyArray.java [src/java/m/multiobj] Revision: default Date:
package m.multiobj;
import java.util.Arrays;
import java.util.function.Function;
import java.util.function.IntFunction;
/**
* Class that provides function to make integer conversions easier.
*
* @author Andre Dozier <andre.dozier@rams.colostate.edu>
*/
public class EasyArray {
public static Boolean[] toBoolean(boolean[] values) {
Boolean[] v = new Boolean[values.length];
for (int i = 0; i < values.length; i++) {
v[i] = values[i];
}
return v;
}
public static boolean[] toBoolean(Boolean[] values) {
boolean[] v = new boolean[values.length];
for (int i = 0; i < values.length; i++) {
v[i] = values[i];
}
return v;
}
public static Integer[] toInt(int[] values) {
Integer[] v = new Integer[values.length];
for (int i = 0; i < values.length; i++) {
v[i] = values[i];
}
return v;
}
public static int[] toInt(Integer[] values) {
int[] v = new int[values.length];
for (int i = 0; i < values.length; i++) {
v[i] = values[i];
}
return v;
}
public static Double[] toDouble(double[] values) {
Double[] v = new Double[values.length];
for (int i = 0; i < values.length; i++) {
v[i] = values[i];
}
return v;
}
public static double[] toDouble(Double[] values) {
double[] v = new double[values.length];
for (int i = 0; i < values.length; i++) {
v[i] = values[i];
}
return v;
}
public static double[] divideBy(double[] values, int[] divisors) {
double[] v = new double[values.length];
for (int i = 0; i < values.length; i++) {
if (divisors[i] > 0){
v[i] = values[i] / divisors[i];
}
}
return v;
}
public static <T, U> U[] convert(T[] from, Function<T, U> func, IntFunction<U[]> generator) {
return Arrays.stream(from).map(func).toArray(generator);
}
public static String[] toString(Boolean[] values) {
return convert(values, v -> String.valueOf(v), String[]::new);
}
public static String[] toString(boolean[] values) {
return toString(toBoolean(values));
}
public static String toBinaryString(Boolean[] values) {
return String.join("", convert(values, v -> v ? "1" : "0", String[]::new));
}
public static String toBinaryString(boolean[] values) {
return toBinaryString(toBoolean(values));
}
public static String[] toString(Integer[] values) {
return convert(values, v -> String.valueOf(v), String[]::new);
}
public static String[] toString(int[] values) {
return toString(toInt(values));
}
public static String[] toString(Double[] values) {
return convert(values, v -> String.valueOf(v), String[]::new);
}
public static String[] toString(double[] values) {
return toString(toDouble(values));
}
}