All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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