Summieren wenn

Pietro

Neues Mitglied
Ich habe eine Liste 1. S
spalte Datum und uhrzeit 2. Spalte Anzahl
Nun möchte ich, eine stündliche Summe der Anzahl haben .
Dafür müssten die Zeilen bei der Spalte mit Anzahl solange addiert werden bis es das Datum und die Uhrzeit erreicht hat die ca. Ne Stunde ist

Wie kann ich da vorgehen?

Mir array und if abfrage ?
 

mihe7

Top Contributor
Hier mal ein wenig Code. Für Dich relevant ist in erster Linie die Methode summiere(). Die ließe sich mit Streams und Lambdas wesentlich kürzer schreiben, aber ich denke, Du solltest erstmal damit zurecht kommen ;)

Java:
import java.time.*;
import static java.time.temporal.ChronoUnit.HOURS;
import java.util.*;

public class Test {
    static class Eintrag {
        final LocalDateTime zeit;
        final int anzahl;
        
        public Eintrag(LocalDateTime zeit, int anzahl) {
            this.zeit = zeit;
            this.anzahl = anzahl;
        }            
        
        @Override
        public String toString() {
            return "[" + zeit.toString() + "/" + anzahl + "]";
        }
    }
    
    public static void main(String[] args) {
        List<Eintrag> eintraege = createDummies();
        Map<LocalDateTime, Integer> summen = summiere(eintraege);
        System.out.println("Eintraege: " + eintraege);
        System.out.println("Summen: " + summen);
        
    }
    
    private static Map<LocalDateTime, Integer> summiere(
            List<Eintrag> eintraege) {
        Map<LocalDateTime, Integer> summen = new HashMap<>();
        
        for (Eintrag e : eintraege) {
            LocalDateTime hour = e.zeit.truncatedTo(HOURS);
            if (!summen.containsKey(hour)) {
                summen.put(hour, 0);
            }
            summen.put(hour, summen.get(hour) + e.anzahl);
        }
        
        return summen;
    }
    
    private static List<Eintrag> createDummies() {
        Random rand = new Random(1L);
        LocalDateTime start = LocalDateTime.parse("2019-04-18T22:00");
        
        List<Eintrag> eintraege = new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            LocalDateTime cur = start.plusMinutes(rand.nextInt(400));
            eintraege.add(new Eintrag(cur, rand.nextInt(20)+1));
        }
        
        return eintraege;
    }
}
 

mihe7

Top Contributor
Vielen Dank :) was sind streqms und lambdas ? Ich bin Anfänger...
S. Antwort von @M.L. ; konkret würde das z. B. so aussehen:
Java:
    private static Map<LocalDateTime, Integer> summiere(
            List<Eintrag> eintraege) {
        return eintraege.stream()
            .collect(groupingBy(e -> e.zeit.truncatedTo(HOURS),
                                summingInt(e -> e.anzahl)));
    }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
berserkerdq2 Habe ein svg bild, kann ich das zu svg koordinaten umrechnen, damit ich den Umriss zeichnen kann? Wenn ja wie? Allgemeine Java-Themen 1
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
I OpenPDF erzeugt riesige PDFs, wenn Grafiken über PdfGraphics2D#drawImage gezeichnet werden Allgemeine Java-Themen 1
Viper13125 Eclipse Hängt sich auf, wenn ich SimpelDateFormat drin lasse Allgemeine Java-Themen 2
berserkerdq2 Wenn ich eine Methode nur jede 50ms ausführen will, wie mach ich das? Allgemeine Java-Themen 4
M Probleme bei Eclipse wenn ich entpacke Allgemeine Java-Themen 15
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
E RMI NULL-Pointer-Exeception wenn der RMI-Proxy eine Methode deligiert Allgemeine Java-Themen 2
D Cursor unsichtbar, wenn Kontextmenü aufgerufen wird Allgemeine Java-Themen 5
E JavaFX RMI extrem langsam wenn Server nicht läuft Allgemeine Java-Themen 5
W Thread sleep 30 sekunden - wenn keine Antwort bis dahin neu senden Allgemeine Java-Themen 2
H Runtime reagiert erst wenn Programm abbricht Allgemeine Java-Themen 1
J Jasper ireport - wieso beendet die Anwendung wenn ich die Preview schließe Allgemeine Java-Themen 1
N Maven ObjectMapper Error wenn das File gespeichert wird Allgemeine Java-Themen 0
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
S Wenn mehr als die Hälfte Großgeschrieben ist. Allgemeine Java-Themen 2
D mouseWheelMoved => erst reagieren, wenn für 1s das Mausrad nicht mehr benutzt wurde Allgemeine Java-Themen 4
L SetBounds wird vor dem Konstruktorcode aufgerufen - Wenn Startleiste links Allgemeine Java-Themen 1
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
DStrohma Input/Output KeyEvent nur verarbeiten wenn es ein "sichtbares" Zeichen ist? Allgemeine Java-Themen 1
S ExecutorService.invokeAll -- was passiert wenn einige Tasks schon ausgefuehrt wurden? Allgemeine Java-Themen 2
M CapsLock abfragen wenn Fenster wieder aktiviert wird Allgemeine Java-Themen 5
D Java Skript Wenn Dann in PDF Formular Allgemeine Java-Themen 2
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
L Input/Output Dateien erstellen, wenn ein JAR ausgeführt wird Allgemeine Java-Themen 13
S Strings gehen "kaputt" wenn ich in CVS ein und wieder auschecke. Allgemeine Java-Themen 2
E externen Prozess schließen, wenn Programm geschlossen wird Allgemeine Java-Themen 2
D mvc-Modell: wenn views voneinander wissen sollen Allgemeine Java-Themen 13
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
B Benachrichtigung, wenn sich Benutzer am Betriebssystem anmeldet Allgemeine Java-Themen 9
T Set.contains() auch false wenn value == null? Allgemeine Java-Themen 4
N OutOfMemory nur wenn -Xmx gesetzt ist?! Allgemeine Java-Themen 6
Y Erfassen der Gesamtbreite, wenn 2 Bildschirme zur Verfügung. Allgemeine Java-Themen 3
V Was tun, wenn close() fehlschlägt? Allgemeine Java-Themen 3
G Was ist Ant und warum soll ich das brachen, wenn es IDEs gib Allgemeine Java-Themen 10
J Probleme wenn man keine serialVersionUID definiert? Allgemeine Java-Themen 27
G Aufruf einer Methode wenn Klasse noch nicht existiert Allgemeine Java-Themen 3
K FarbeA die moeglichst sichtbar ist wenn gezeichnetauf FarbeB Allgemeine Java-Themen 7
G wenn Button geklickt -> regelmäßig Aktion ausführen Allgemeine Java-Themen 7
ARadauer mit keylistener hören auch wenn frame nicht den focus hat Allgemeine Java-Themen 2
S Zweiten Thread erst starten wenn erster Thread beendet ist ? Allgemeine Java-Themen 6
B Datei erst öffnen, wenn EOF gesetzt ? Allgemeine Java-Themen 4
M PostgreSQL - nennenswerte Vorteile und wenn ja, wo? Allgemeine Java-Themen 3
P JTextField textfarbe schwarz auch wenn JTF deaktiviert ist Allgemeine Java-Themen 4
C Wenn long int zu klein Allgemeine Java-Themen 17
F CPU auslastung wenn Speicher mit -Xmx erhöht Allgemeine Java-Themen 4
M Wenn immer nur einer darf . Allgemeine Java-Themen 3
P Ist das möglich mit Java - wenn Nein wie sonst? Allgemeine Java-Themen 8
R Wenn Variable = wat ist Allgemeine Java-Themen 7
J RegEx: "wenn zeichen folgen ersetze x mit y, sonst mit Allgemeine Java-Themen 2
F Wenn ihr Performance wollt nehmt C++ Allgemeine Java-Themen 39
L Wenn String matches [-.,;:_°&] dann. Allgemeine Java-Themen 5
I JMF - feststellen wenn mp3 aus Allgemeine Java-Themen 10
G Prozess beenden, wenn er hängt Allgemeine Java-Themen 9
L JTable: Wenn Zeile markiert dann Meldung. geht nicht Allgemeine Java-Themen 4
G wenn ohne Interface Allgemeine Java-Themen 2
K Wenn events auftritt fireActionPerformed Allgemeine Java-Themen 6
T ^Wenn Java startet wird das Bild unscharf Allgemeine Java-Themen 8
G Wenn JAVA Applet nicht geladen werden kann -> Flash Allgemeine Java-Themen 4
B Rechner stürzt ab wenn Java-Anwendungen geöffnet werden! Allgemeine Java-Themen 2
N Wenn Bild nicht vorhanden, dann Weiterleitung Allgemeine Java-Themen 5
G Auf KeyEvent reagieren, wenn das Fenster nicht aktiv ist Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben