Hallo Leute,
ich möchte gerne mein Java Programm etwas optimieren. Dort gibt es eine Methode "Mittelwertausgabe"
Diese Methode wird in einer Schleife aufgerufen und eine temp Datei mit Mittelwerten aus einer Treemap befüllt. Wobei in einem späteren Schritt zu jedem Key der größte Mittelwert Value aus der temp Datei ausgewählt und weiterverarbeitet wird. Ich würde mir den Umweg über die Temp Datei gerne ersparen weil das befüllen ziemlich lange dauert. Frage mich allerdings womit die vielen Daten (ca. 1 mio. Zeilen) am besten/schnellsten verarbeitet werden können. Speichere ich die Werte in einer Arraylist oder erstelle ich erneut eine Treemap und suche mir daraus den größten Wert zu jedem key? Ich hoffe ihr könnt mir weiterhelfen. Vielleicht auch mit einem kleinen Beispiel
Vielen Dank.
Mfg Ironcurtain
ich möchte gerne mein Java Programm etwas optimieren. Dort gibt es eine Methode "Mittelwertausgabe"
Java:
private void Mittelwertausgabe(String Directory, File temp) {
Set<Entry<Double, List<Double>>> entrySet = map.entrySet();
for (Entry<Double, List<Double>> entry : entrySet) {
List<Double> list = entry.getValue();
double summe = 0;
for (Double double1 : list) {
summe += double1;
}
double durchschnitt = summe / list.size();
DecimalFormat decimalFormat = new DecimalFormat("#0");
DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance();
dfs.setDecimalSeparator('.');
DecimalFormat decimalFormat2 = new DecimalFormat("0.0", dfs);
//In Datei schreiben
try {
FileWriter writer = new FileWriter(Directory+temp, true);
BufferedWriter buffer = new BufferedWriter(writer);
buffer.write("\t" + decimalFormat.format(entry.getKey()) + "\t" + decimalFormat2.format(durchschnitt));
buffer.newLine(); // Neue Zeile einfügen
buffer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Diese Methode wird in einer Schleife aufgerufen und eine temp Datei mit Mittelwerten aus einer Treemap befüllt. Wobei in einem späteren Schritt zu jedem Key der größte Mittelwert Value aus der temp Datei ausgewählt und weiterverarbeitet wird. Ich würde mir den Umweg über die Temp Datei gerne ersparen weil das befüllen ziemlich lange dauert. Frage mich allerdings womit die vielen Daten (ca. 1 mio. Zeilen) am besten/schnellsten verarbeitet werden können. Speichere ich die Werte in einer Arraylist oder erstelle ich erneut eine Treemap und suche mir daraus den größten Wert zu jedem key? Ich hoffe ihr könnt mir weiterhelfen. Vielleicht auch mit einem kleinen Beispiel
Vielen Dank.
Mfg Ironcurtain