![JAR search and dependency download from the Maven repository](/logo.png)
com.github.TKnudsen.ComplexDataObject.model.tools.DataConversion Maven / Gradle / Ivy
package com.github.TKnudsen.ComplexDataObject.model.tools;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Set;
/**
*
* Title: DataConversion
*
*
*
* Description: Provides little helpers for the conversion of general data
* structures
*
*
*
* Copyright: Copyright (c) 2017
*
*
* @author Juergen Bernard
* @version 1.03
*/
public class DataConversion {
/**
* convertss a list of Double objects to an array of double primitives.
*
* @param values
* @return
*/
public static double[] toPrimitives(List values) {
if (values == null)
return null;
return values.stream().mapToDouble(Double::doubleValue).toArray();
// if (values == null)
// return null;
//
// double[] ret = new double[values.size()];
//
// for (int i = 0; i < values.size(); i++)
// ret[i] = values.get(i).doubleValue();
//
// return ret;
}
/**
* Converts an array of double primitives to an array of Double objects.
*
* @param values
* @return
*/
public static Double[] doublePrimitivesToArray(double[] values) {
if (values == null)
return null;
Double[] array = new Double[values.length];
for (int i = 0; i < values.length; i++)
array[i] = values[i];
return array;
}
/**
* Converts an array of double primitives to an array of Double objects.
*
* @param values
* @return
*/
public static List doublePrimitivesToList(double[] values) {
return Arrays.asList(DataConversion.doublePrimitivesToArray(values));
}
/**
* Converts an array to a List.
*
* @param values
* @return
*/
public static List arrayToList(T[] values) {
return new ArrayList(Arrays.asList(values));
}
/**
* Converts a given Collection to an array.
*
* @param collection
* @param classType
* @return
*/
public static T[] collectionToArray(Collection collection, Class classType) {
List list = collectionToList(collection);
return listToArray(list, classType);
}
/**
* converts a given Collection into a List.
*
* @param collection
* @return
*/
public static List collectionToList(Collection collection) {
List list;
if (collection instanceof List)
list = (List) collection;
else
list = new ArrayList(collection);
return list;
}
/**
* Converts a Set into a List.
*
* @param set
* @return
*/
public static List setToList(Set set) {
List list = new ArrayList<>();
list.addAll(set);
return list;
}
/**
* abstracts a List of concrete Doubles to Numbers
*
* @param values
* @return
*/
public static List numberListFromDoubleList(List values) {
List numbers = new ArrayList<>();
for (Double d : values)
numbers.add(d);
return numbers;
}
/**
* Converts a given List to an array.
*
* @param list
* @param classType
* @return
*/
public static T[] listToArray(List list, Class classType) {
if (list == null)
return null;
if (classType == null)
throw new IllegalArgumentException("DataConversion.listToArray: class information missing.");
@SuppressWarnings("unchecked")
T[] array = (T[]) Array.newInstance(classType, list.size());
for (int i = 0; i < list.size(); ++i) {
array[i] = list.get(i);
}
return array;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy