Commit d07f1868 by Patryk Czarnik

Grupowanie po miastach - v0

parent ebfea6a5
package sprzedaz;
import java.math.BigDecimal;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
/* Dla każdego miasta występującego w pliku z danymi
oblicz sumę wartości transakcji w tym mieście.
*/
/* W tej wersji najpierw ustalamy zbiór miast bez powtórzeń,
a następnie dla każdego miasta przeglądamy wszystkie rekordy z listy i filtrujemy.
Ma to niską wydajność. Złożoność: liczba miast × licza wszystkich rekordów.
*/
public class Grupowanie0 {
public static void main(String[] args) {
List<Rekord> lista = ObslugaCSV.wczytaj();
Set<String> miasta = new TreeSet<>();
for(Rekord r : lista) {
miasta.add(r.miasto());
}
System.out.println(miasta);
for (String miasto : miasta) {
BigDecimal suma = BigDecimal.ZERO;
for (Rekord r : lista) {
if(r.miasto().equals(miasto)) {
suma = suma.add(r.wartosc());
}
}
System.out.printf("%-10s : %12s%n", miasto, suma);
}
}
}
......@@ -10,7 +10,7 @@ public class SumaWJednymMiescie_Imperatywnie {
String miasto = JOptionPane.showInputDialog("Podaj nazwę miasta");
if(miasto == null) return;
// TODO oblicz sumę wartości sprzedaży w podanym mieście
// Oblicz sumę wartości sprzedaży w podanym mieście
// tutaj wersja "imperatywna" (pętla i if)
// zrób też wersję "funkcyjną" w oparciu o stream i filter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment