Hallo allerseits,
ich lese eine Datei ein mit unbekannter Anzahl an Elementen. In je einer Zeile befindet sich ein Zeitstempel plus eine Amplitude. Die beiden Werte werden in je einem ArrayList gespeichert. Da es sich um bis zu 20Mil-Werte handeln kann, habe ich gedacht, dass es sinnvoll wäre, die Daten für den Zeitstempel in ein double-Array und die Amplitude in ein float-Array umzuwandeln. Das Einlesen der Daten geht einwandfrei, jedoch scheiter es bei der Umwandlung des ArrayList zu double Array.
Hier die grobe Vorgehensweise:
public static ArrayList<Double> temp1 = new ArrayList<Double>();
public static ArrayList <Float>temp2 = new ArrayList<Float>();
public static double[] time ;
public static double[] amp ;
Aufruf der methode Dateneinlesen().
Der Inhalt der Datei befindet sich in den beiden Variablen temp1 und temp2;
und nun die Umwandlung:
time=(double[]) temp1.toArray(new double[temp1.size()]);
und hier scheitert es. Der Compiler bringt folgende Fehlermeldung:
The method toArray(T[]) in the type ArrayList<Double> is not applicable for the arguments (double[])
Warum sollte es nich Anwendbar sein, diese sind doch vom gleichen Typ?
hat da eine ne Idee, wie ich dieses Problem lösen kann?
Danke im Voraus!
ich lese eine Datei ein mit unbekannter Anzahl an Elementen. In je einer Zeile befindet sich ein Zeitstempel plus eine Amplitude. Die beiden Werte werden in je einem ArrayList gespeichert. Da es sich um bis zu 20Mil-Werte handeln kann, habe ich gedacht, dass es sinnvoll wäre, die Daten für den Zeitstempel in ein double-Array und die Amplitude in ein float-Array umzuwandeln. Das Einlesen der Daten geht einwandfrei, jedoch scheiter es bei der Umwandlung des ArrayList zu double Array.
Hier die grobe Vorgehensweise:
public static ArrayList<Double> temp1 = new ArrayList<Double>();
public static ArrayList <Float>temp2 = new ArrayList<Float>();
public static double[] time ;
public static double[] amp ;
Aufruf der methode Dateneinlesen().
Der Inhalt der Datei befindet sich in den beiden Variablen temp1 und temp2;
und nun die Umwandlung:
time=(double[]) temp1.toArray(new double[temp1.size()]);
und hier scheitert es. Der Compiler bringt folgende Fehlermeldung:
The method toArray(T[]) in the type ArrayList<Double> is not applicable for the arguments (double[])
Warum sollte es nich Anwendbar sein, diese sind doch vom gleichen Typ?
hat da eine ne Idee, wie ich dieses Problem lösen kann?
Danke im Voraus!