Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_mszczonow_1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
alx_mszczonow_1
Commits
7a0d122a
Commit
7a0d122a
authored
Jul 11, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Collectors.groupingBy
parent
13b20945
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
0 deletions
+43
-0
Grupowanie6.java
src/main/java/sprzedaz/Grupowanie6.java
+23
-0
Grupowanie8.java
src/main/java/sprzedaz/Grupowanie8.java
+20
-0
No files found.
src/main/java/sprzedaz/Grupowanie6.java
0 → 100644
View file @
7a0d122a
package
sprzedaz
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
public
class
Grupowanie6
{
public
static
void
main
(
String
[]
args
)
{
List
<
Rekord
>
lista
=
ObslugaCSV
.
wczytaj
();
Map
<
String
,
List
<
Rekord
>>
grupy
=
lista
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
Rekord:
:
miasto
));
// Tak wywołany kolektor groupingBy zwraca słownik, w którym dla każdej wartości klucz (czyli miasta)
// zapisana jest lista wszystkich obiektów należących do tej grupy (czyli rekordów z tego miasta).
// Tutaj też zoabczymy przeglądanie słownika z sposób oparty o wyrażenia lambda, od Java 8
grupy
.
forEach
((
miasto
,
rekordy
)
->
{
System
.
out
.
println
(
"Miasto "
+
miasto
+
", liczba transakcji: "
+
rekordy
.
size
());
rekordy
.
forEach
(
r
->
System
.
out
.
println
(
" * "
+
r
.
towar
()
+
" za "
+
r
.
wartosc
()));
System
.
out
.
println
();
});
}
}
src/main/java/sprzedaz/Grupowanie8.java
0 → 100644
View file @
7a0d122a
package
sprzedaz
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
public
class
Grupowanie8
{
public
static
void
main
(
String
[]
args
)
{
List
<
Rekord
>
lista
=
ObslugaCSV
.
wczytaj
();
// W tej wersji do kolektora groupingBy przekazujemy kolejny parametr,
// też kolektor mówiący "co robić każdą grupą".
Map
<
String
,
Double
>
sumy
=
lista
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
Rekord:
:
miasto
,
Collectors
.
summingDouble
(
Rekord:
:
wartoscDouble
)));
// sumy.forEach((miasto, suma) -> System.out.printf("%-10s : %12s%n", miasto, suma));
sumy
.
forEach
((
miasto
,
suma
)
->
System
.
out
.
printf
(
"%-10s : %12.2f%n"
,
miasto
,
suma
));
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment