Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
java_weekendowa_20221008
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
java_weekendowa_20221008
Commits
d633cd63
Commit
d633cd63
authored
Oct 09, 2022
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Przykłady "sprzedaz"
parent
75604fd2
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
359 additions
and
0 deletions
+359
-0
P4_Grupowanie_v1.java
...rzanieDanych/src/sprzedaz/obiektowo/P4_Grupowanie_v1.java
+35
-0
P4_Grupowanie_v2.java
...rzanieDanych/src/sprzedaz/obiektowo/P4_Grupowanie_v2.java
+30
-0
P4_Grupowanie_v3.java
...rzanieDanych/src/sprzedaz/obiektowo/P4_Grupowanie_v3.java
+25
-0
P4_Grupowanie_v4.java
...rzanieDanych/src/sprzedaz/obiektowo/P4_Grupowanie_v4.java
+25
-0
B1_WypiszWszystko.java
...ieDanych/src/sprzedaz/strumieniowo/B1_WypiszWszystko.java
+13
-0
B2_WypiszZMiasta.java
...nieDanych/src/sprzedaz/strumieniowo/B2_WypiszZMiasta.java
+15
-0
B3_FilterMap.java
...arzanieDanych/src/sprzedaz/strumieniowo/B3_FilterMap.java
+23
-0
P0_Odczyt.java
...etwarzanieDanych/src/sprzedaz/strumieniowo/P0_Odczyt.java
+19
-0
P1_WypiszWybranePola.java
...anych/src/sprzedaz/strumieniowo/P1_WypiszWybranePola.java
+15
-0
P1_WypiszWybranePola_v2.java
...ch/src/sprzedaz/strumieniowo/P1_WypiszWybranePola_v2.java
+16
-0
P2_SumaZWybranegoMiasta.java
...ch/src/sprzedaz/strumieniowo/P2_SumaZWybranegoMiasta.java
+20
-0
P2_SumaZWybranegoMiasta_BD.java
...src/sprzedaz/strumieniowo/P2_SumaZWybranegoMiasta_BD.java
+23
-0
P2_SumaZWybranegoMiasta_reduce.java
...sprzedaz/strumieniowo/P2_SumaZWybranegoMiasta_reduce.java
+20
-0
P2_SumaZWybranegoMiasta_reduce_lambda.java
...z/strumieniowo/P2_SumaZWybranegoMiasta_reduce_lambda.java
+20
-0
P3_Miasta_v1.java
...arzanieDanych/src/sprzedaz/strumieniowo/P3_Miasta_v1.java
+17
-0
P3_Miasta_v2.java
...arzanieDanych/src/sprzedaz/strumieniowo/P3_Miasta_v2.java
+21
-0
P3_Miasta_v3.java
...arzanieDanych/src/sprzedaz/strumieniowo/P3_Miasta_v3.java
+22
-0
No files found.
PC22-PrzetwarzanieDanych/src/sprzedaz/obiektowo/P4_Grupowanie_v1.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
obiektowo
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.TreeSet
;
public
class
P4_Grupowanie_v1
{
// pierwsze podjeście - zbieram nazwy miast bez powtórzeń i następnie dla każdego miasta
// wyliczam sumę sposobem takim, jak w P2
// Wada: wielokrotnie przeglądam całą listę
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
Set
<
String
>
miasta
=
new
TreeSet
<>();
for
(
Transakcja
transakcja
:
transakcje
)
{
miasta
.
add
(
transakcja
.
getMiasto
());
}
for
(
String
miasto
:
miasta
)
{
double
suma
=
0
;
for
(
Transakcja
transakcja
:
transakcje
)
{
if
(
transakcja
.
getMiasto
().
equals
(
miasto
))
{
suma
+=
transakcja
.
getWartoscDouble
();
}
}
System
.
out
.
printf
(
"| %-10s | %11.2f |\n"
,
miasto
,
suma
);
}
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/obiektowo/P4_Grupowanie_v2.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
obiektowo
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
P4_Grupowanie_v2
{
// drugie podjeście - dane przeglądam tylko raz, a liczby dodaję od razu do słownika pod odpowiednim kluczem
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
Map
<
String
,
Double
>
sumy
=
new
HashMap
<>();
for
(
Transakcja
transakcja
:
transakcje
)
{
if
(
sumy
.
containsKey
(
transakcja
.
getMiasto
()))
{
// update
double
ileBylo
=
sumy
.
get
(
transakcja
.
getMiasto
());
sumy
.
put
(
transakcja
.
getMiasto
(),
ileBylo
+
transakcja
.
getWartoscDouble
());
}
else
{
// insert
sumy
.
put
(
transakcja
.
getMiasto
(),
transakcja
.
getWartoscDouble
());
}
}
for
(
Map
.
Entry
<
String
,
Double
>
entry
:
sumy
.
entrySet
())
{
System
.
out
.
printf
(
"| %-10s | %11.2f |\n"
,
entry
.
getKey
(),
entry
.
getValue
());
}
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/obiektowo/P4_Grupowanie_v3.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
obiektowo
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
P4_Grupowanie_v3
{
// w tej wersji używam operacji getOrDefault, która pojawiła się w Java 8
// dzięki temu nie trzeba if-em rozróżniać sytuacji gdy to jest pierwsze lub kolejne wystąpienie danego miatsa
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
Map
<
String
,
Double
>
sumy
=
new
HashMap
<>();
for
(
Transakcja
transakcja
:
transakcje
)
{
double
ileBylo
=
sumy
.
getOrDefault
(
transakcja
.
getMiasto
(),
0.0
);
sumy
.
put
(
transakcja
.
getMiasto
(),
ileBylo
+
transakcja
.
getWartoscDouble
());
}
for
(
Map
.
Entry
<
String
,
Double
>
entry
:
sumy
.
entrySet
())
{
System
.
out
.
printf
(
"| %-10s | %11.2f |\n"
,
entry
.
getKey
(),
entry
.
getValue
());
}
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/obiektowo/P4_Grupowanie_v4.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
obiektowo
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
P4_Grupowanie_v4
{
// w tej wersji używam operacji merge, która pojawiła się w Java 8
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
Map
<
String
,
Double
>
sumy
=
new
HashMap
<>();
for
(
Transakcja
transakcja
:
transakcje
)
{
sumy
.
merge
(
transakcja
.
getMiasto
(),
transakcja
.
getWartoscDouble
(),
Double:
:
sum
);
// jeśli wpisu pod tym kluczem jeszcze nie ma → wstawia podaną wartość
// jeśli wpis już jest → aktualizuje wartość za pomocą wskzanej funkcji (tutj add czyli dodawanie) i podanej wartości
}
for
(
Map
.
Entry
<
String
,
Double
>
entry
:
sumy
.
entrySet
())
{
System
.
out
.
printf
(
"| %-10s | %11.2f |\n"
,
entry
.
getKey
(),
entry
.
getValue
());
}
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/B1_WypiszWszystko.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.List
;
public
class
B1_WypiszWszystko
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
lista
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
lista
.
forEach
(
tr
->
System
.
out
.
println
(
tr
.
getTowar
()
+
" "
+
tr
.
getSztuk
()
+
" szt. w mieście "
+
tr
.
getMiasto
()));
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/B2_WypiszZMiasta.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.List
;
public
class
B2_WypiszZMiasta
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
lista
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
lista
.
stream
()
.
filter
(
tr
->
"Katowice"
.
equals
(
tr
.
getMiasto
()))
.
forEach
(
tr
->
System
.
out
.
println
(
tr
));
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/B3_FilterMap.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.Comparator
;
import
java.util.List
;
public
class
B3_FilterMap
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
lista
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
// filter sprawdza warunek logiczny i "przepuszcza dalej" tylko obiekty spełniające ten warunek
// map wywołuje podaną metodę na obiekcie i wynik tego wywołania wstawia w miejsce obiektu;
// wynikiem mapowania jest strumień składający się z wyników podanej operacji
// forEach - robi coś dla każdego elementu strumienia
lista
.
stream
()
.
filter
(
tr
->
"Katowice"
.
equals
(
tr
.
getMiasto
()))
.
sorted
(
Comparator
.
comparing
(
Transakcja:
:
getWartosc
).
reversed
())
.
map
(
tr
->
" * sprzedano "
+
tr
.
getSztuk
()
+
" towaru "
+
tr
.
getTowar
()
+
" za "
+
tr
.
getWartosc
())
.
forEach
(
System
.
out
::
println
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P0_Odczyt.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.List
;
public
class
P0_Odczyt
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
// lambda expression
// transakcje.forEach(tr -> System.out.println(tr));
// równoważna operacja zapisana za pomocą
// method reference
transakcje
.
forEach
(
System
.
out
::
println
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P1_WypiszWybranePola.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.List
;
public
class
P1_WypiszWybranePola
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
transakcje
.
forEach
(
tr
->
System
.
out
.
println
(
tr
.
getMiasto
()
+
", "
+
tr
.
getSztuk
()
+
" sztuk towaru "
+
tr
.
getTowar
()));
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P1_WypiszWybranePola_v2.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.List
;
public
class
P1_WypiszWybranePola_v2
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
transakcje
.
stream
()
.
map
(
tr
->
String
.
format
(
"W mieście %s sprzedano %d sztuk towaru %s"
,
tr
.
getMiasto
(),
tr
.
getSztuk
(),
tr
.
getTowar
()))
.
forEach
(
System
.
out
::
println
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P2_SumaZWybranegoMiasta.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
javax.swing.*
;
import
java.util.List
;
public
class
P2_SumaZWybranegoMiasta
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
String
miasto
=
JOptionPane
.
showInputDialog
(
"Podaj nazwę miasta:"
);
double
suma
=
transakcje
.
stream
()
.
filter
(
tr
->
tr
.
getMiasto
().
equals
(
miasto
))
.
mapToDouble
(
Transakcja:
:
getWartoscDouble
)
.
sum
();
JOptionPane
.
showMessageDialog
(
null
,
"Suma wynosi "
+
suma
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P2_SumaZWybranegoMiasta_BD.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
javax.swing.*
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Objects
;
public
class
P2_SumaZWybranegoMiasta_BD
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
String
miasto
=
JOptionPane
.
showInputDialog
(
"Podaj nazwę miasta:"
);
BigDecimal
suma
=
transakcje
.
stream
()
.
filter
(
tr
->
Objects
.
equals
(
tr
.
getMiasto
(),
miasto
))
.
map
(
Transakcja:
:
getWartosc
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
JOptionPane
.
showMessageDialog
(
null
,
"Suma wynosi "
+
suma
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P2_SumaZWybranegoMiasta_reduce.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
javax.swing.*
;
import
java.util.List
;
public
class
P2_SumaZWybranegoMiasta_reduce
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
String
miasto
=
JOptionPane
.
showInputDialog
(
"Podaj nazwę miasta:"
);
double
suma
=
transakcje
.
stream
()
.
filter
(
tr
->
tr
.
getMiasto
().
equals
(
miasto
))
.
mapToDouble
(
Transakcja:
:
getWartoscDouble
)
.
reduce
(
0.0
,
Double:
:
sum
);
JOptionPane
.
showMessageDialog
(
null
,
"Suma wynosi "
+
suma
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P2_SumaZWybranegoMiasta_reduce_lambda.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
javax.swing.*
;
import
java.util.List
;
public
class
P2_SumaZWybranegoMiasta_reduce_lambda
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
String
miasto
=
JOptionPane
.
showInputDialog
(
"Podaj nazwę miasta:"
);
double
suma
=
transakcje
.
stream
()
.
filter
(
tr
->
tr
.
getMiasto
().
equals
(
miasto
))
.
mapToDouble
(
Transakcja:
:
getWartoscDouble
)
.
reduce
(
0.0
,
(
x
,
y
)
->
x
+
y
);
JOptionPane
.
showMessageDialog
(
null
,
"Suma wynosi "
+
suma
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P3_Miasta_v1.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.List
;
public
class
P3_Miasta_v1
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
transakcje
.
stream
()
.
map
(
Transakcja:
:
getMiasto
)
.
distinct
()
.
sorted
()
.
forEach
(
System
.
out
::
println
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P3_Miasta_v2.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.TreeSet
;
import
java.util.stream.Collectors
;
public
class
P3_Miasta_v2
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
Collection
<
String
>
miasta
=
transakcje
.
stream
()
.
map
(
Transakcja:
:
getMiasto
)
.
collect
(
Collectors
.
toSet
());
miasta
.
forEach
(
System
.
out
::
println
);
}
}
PC22-PrzetwarzanieDanych/src/sprzedaz/strumieniowo/P3_Miasta_v3.java
0 → 100644
View file @
d633cd63
package
sprzedaz
.
strumieniowo
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
public
class
P3_Miasta_v3
{
public
static
void
main
(
String
[]
args
)
{
List
<
Transakcja
>
transakcje
=
ObslugaCSV
.
wczytaj
(
"sprzedaz.csv"
);
Map
<
String
,
Integer
>
mapa
=
transakcje
.
stream
()
.
map
(
Transakcja:
:
getMiasto
)
.
collect
(
Collectors
.
toMap
(
Function
.
identity
(),
x
->
1
,
Integer:
:
sum
));
mapa
.
forEach
((
k
,
v
)
->
{
System
.
out
.
println
(
k
+
": "
+
v
);
});
}
}
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