Ich habe eine Daten, die visuell dargestellt werden kann als 12 Liniendiagramme (Frequenzen) mit 2 Zeilenreihen in jedem (benannt "L", "R") und jede Zeile enthält 3000 X & Y-Werte.In welchem Objekt speichern meine Daten?
Nun meine Daten in 2 Objekte Ich Speicherung:
double[][][][] data = new double[12][2][3000][2];
double[] frequencies = new double[]{2.22, 2.3, 2.39,
2.48, 2.57, 2.67, 2.77, 2.89, 3.0, 3.18, 3.37, 3.57};
ich meine Daten in 1 Objekt speichern möchten, aber ich weiß nicht, wie ich das tun kann. Einige Pseudo-Code:
List<Object[]> data = new ArrayList<Object[]>();
double[][] xyValues = new double[3000][2];
data.add{2.22, 'L', xyValues};
data.add{2.22, 'R', xyValues};
data.add{2.3, 'L', xyValues};
data.add{2.3, 'R', xyValues};
....
Dann möchte ich durch Angabe von Parametern Frequenz und Linienserie X & Y-Werte Array abzurufen:
double[][] xyValues = getXYValuesFromData(2.3, 'L');
Update:
Dank allen für Ihre Ideen. Ich habe meine Anforderungen überarbeitet.
import java.util.ArrayList;
import java.util.Random;
public class Test {
public static void main(String[] args) {
//class for storing my data
ScanData myData = new ScanData();
//-----------------------adding data-------
//There are 4 possible series(L, R, I, V), I want put them independently,
// so e.g. I can put just any one or any two
myData.put(2.22, 'L', new XYvalues());
myData.put(2.22, 'R', new XYvalues());
myData.put(2.22, 'I', new XYvalues());
myData.put(2.22, 'V', new XYvalues());
myData.put(2.48, 'I', new XYvalues());
myData.put(3.57, 'I', new XYvalues());
//----------------------getting data--------
//get xyValues of first frequency in my data and R-serie:
double[][] xyValuesRserie = myData.freqIndex(0).r();
//get frequency value of first frequency:
double freq = myData.freqIndex(0).freq(); //2.22
//get xyValues of l-serie by frequency value
double[][] array = myData.freq(5.22).l();//[3000][2]
}
}
class XYvalues{
double[][] XYValues(){
double[][] xyValues = new double[3000][2];
Random random = new Random();
for (int i=0; i< xyValues.length; i++){
xyValues[i][0] = (double) (i - xyValues.length/2)*10;
xyValues[i][1] = (double) random.nextDouble();
}
return xyValues;
}
}
class ScanData{
//?????
}
Was ist Ihre 4D Array (Daten) zu speichern? – user3437460
Ich beschrieb meine 4d-Array: Frequenzen, Serien, Datenpunkte2d (xy) –
Mein Fall sieht aus wie Hash-Tabelle mit komplexen Schlüssel aus zwei Werten: Häufigkeit und Serie Name –