Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_20251009
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_20251009
Commits
4594ceb5
You need to sign in or sign up before continuing.
Commit
4594ceb5
authored
Oct 10, 2025
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dopiski do streamów i PanTadeusz
parent
fab1f889
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
42 additions
and
13 deletions
+42
-13
Grupowanie1.java
src/main/java/emps/v2_obiektowo/Grupowanie1.java
+2
-2
Grupowanie3.java
src/main/java/emps/v2_obiektowo/Grupowanie3.java
+1
-1
NoweOperacjeList.java
src/main/java/p15_kolekcje/a_list/NoweOperacjeList.java
+4
-4
C12_FlatMap.java
...ain/java/p16_streamy/c_przeglad_operacji/C12_FlatMap.java
+2
-2
KlasaOptional.java
src/main/java/p18_optional/KlasaOptional.java
+1
-2
PoliczSlowaStream.java
src/main/java/pan_tadeusz/PoliczSlowaStream.java
+30
-0
MaszynaWczytujaca2.java
src/main/java/sprzedaz/MaszynaWczytujaca2.java
+2
-1
Opt4.java
src/main/java/sprzedaz/Opt4.java
+0
-1
No files found.
src/main/java/emps/v2_obiektowo/Grupowanie1.java
View file @
4594ceb5
...
@@ -5,9 +5,9 @@ import java.util.List;
...
@@ -5,9 +5,9 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Map
;
public
class
Grupowanie1
{
public
class
Grupowanie1
{
// W tej wersji widzimy klasyczny algorytm "agregacji danych za pomocą
sl
ownika"
// W tej wersji widzimy klasyczny algorytm "agregacji danych za pomocą
sł
ownika"
// Listę pracowników przeglądamy tylko raz, na bieżąco aktualizując słowniki.
// Listę pracowników przeglądamy tylko raz, na bieżąco aktualizując słowniki.
// W tej wersji używamy tylko podstawowych operacji na kolekcjach (sprzed Java 8
// W tej wersji używamy tylko podstawowych operacji na kolekcjach (sprzed Java 8
)
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
();
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
();
...
...
src/main/java/emps/v2_obiektowo/Grupowanie3.java
View file @
4594ceb5
...
@@ -15,7 +15,7 @@ public class Grupowanie3 {
...
@@ -15,7 +15,7 @@ public class Grupowanie3 {
for
(
Employee
emp
:
emps
)
{
for
(
Employee
emp
:
emps
)
{
// co wstawić w razie braku danych (gdy dane już są - krok jest pomijany)
// co wstawić w razie braku danych (gdy dane już są - krok jest pomijany)
sumy
.
putIfAbsent
(
emp
.
getJobTitle
(),
0
);
sumy
.
putIfAbsent
(
emp
.
getJobTitle
(),
0
);
// w jaki sposób uzyskuje się
nową wartość na podstawie klucza oraz starej wartości
// w jaki sposób uzyskuje się
nową wartość na podstawie klucza oraz starej wartości
sumy
.
computeIfPresent
(
emp
.
getJobTitle
(),
(
job
,
staraSuma
)
->
staraSuma
+
emp
.
getSalary
());
sumy
.
computeIfPresent
(
emp
.
getJobTitle
(),
(
job
,
staraSuma
)
->
staraSuma
+
emp
.
getSalary
());
ilosci
.
putIfAbsent
(
emp
.
getJobTitle
(),
0
);
ilosci
.
putIfAbsent
(
emp
.
getJobTitle
(),
0
);
...
...
src/main/java/p15_kolekcje/a_list/NoweOperacjeList.java
View file @
4594ceb5
...
@@ -35,17 +35,17 @@ public class NoweOperacjeList {
...
@@ -35,17 +35,17 @@ public class NoweOperacjeList {
System
.
out
.
println
();
System
.
out
.
println
();
System
.
out
.
println
();
System
.
out
.
println
();
List
<
String
>
lista1
=
(
List
<
String
>)
lista
.
clone
(
);
List
<
String
>
lista1
=
new
ArrayList
<>(
lista
);
System
.
out
.
println
(
lista1
);
System
.
out
.
println
(
lista1
);
// predykat; operacja usuwa z listy wszystkie spełaniające warunek
// predykat; operacja usuwa z listy wszystkie spełaniające warunek
lista1
.
removeIf
(
s
->
s
.
length
()
<=
3
);
lista1
.
removeIf
(
s
->
s
.
length
()
<=
3
);
System
.
out
.
println
(
lista1
);
System
.
out
.
println
(
lista1
);
System
.
out
.
println
();
System
.
out
.
println
();
List
<
String
>
lista2
=
(
List
<
String
>)
lista
.
clone
(
);
List
<
String
>
lista2
=
new
ArrayList
<>(
lista
);
System
.
out
.
println
(
lista2
);
System
.
out
.
println
(
lista2
);
lista2
.
replaceAll
(
s
->
s
.
toUpperCase
());
// lambda expression
//
lista2.replaceAll(s -> s.toUpperCase()); // lambda expression
//
lista2.replaceAll(String::toUpperCase); // method reference - w tym przypadku równoważnie
lista2
.
replaceAll
(
String:
:
toUpperCase
);
// method reference - w tym przypadku równoważnie
System
.
out
.
println
(
lista2
);
System
.
out
.
println
(
lista2
);
System
.
out
.
println
();
System
.
out
.
println
();
}
}
...
...
src/main/java/p16_streamy/c_przeglad_operacji/C12_FlatMap.java
View file @
4594ceb5
...
@@ -58,13 +58,13 @@ public class C12_FlatMap {
...
@@ -58,13 +58,13 @@ public class C12_FlatMap {
// zero (!), jeden, dowolną skończoną liczbę, a nawet nieskońćzoność.
// zero (!), jeden, dowolną skończoną liczbę, a nawet nieskońćzoność.
// Funkcja mapuje wartości na strumienie - wynikiem jest strumień wartości.
// Funkcja mapuje wartości na strumienie - wynikiem jest strumień wartości.
System
.
out
.
println
(
"Płaskie mapowanie:"
);
System
.
out
.
println
(
"Płaskie mapowanie:"
);
Stream
.
of
(
1
,
3
,
5
)
Stream
.
of
(
1
,
3
,
0
,
5
)
.
flatMap
(
x
->
C12_FlatMap
.
generuj
(
x
).
stream
())
.
flatMap
(
x
->
C12_FlatMap
.
generuj
(
x
).
stream
())
.
forEach
(
x
->
System
.
out
.
print
(
x
+
" | "
));
.
forEach
(
x
->
System
.
out
.
print
(
x
+
" | "
));
System
.
out
.
println
();
System
.
out
.
println
();
System
.
out
.
println
();
System
.
out
.
println
();
Stream
.
of
(
1
,
3
,
5
)
Stream
.
of
(
1
,
3
,
0
,
5
)
.
flatMap
(
C12_FlatMap:
:
generujStrumien
)
.
flatMap
(
C12_FlatMap:
:
generujStrumien
)
.
forEach
(
x
->
System
.
out
.
print
(
x
+
" | "
));
.
forEach
(
x
->
System
.
out
.
print
(
x
+
" | "
));
System
.
out
.
println
();
System
.
out
.
println
();
...
...
src/main/java/p18_optional/KlasaOptional.java
View file @
4594ceb5
...
@@ -31,7 +31,7 @@ public class KlasaOptional {
...
@@ -31,7 +31,7 @@ public class KlasaOptional {
try
{
try
{
System
.
out
.
println
(
napis0
.
get
());
System
.
out
.
println
(
napis0
.
get
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
System
.
err
.
println
(
"próba odczytu napis0.get(): "
+
e
);
System
.
out
.
println
(
"próba odczytu napis0.get(): "
+
e
);
}
}
System
.
out
.
println
();
System
.
out
.
println
();
...
@@ -95,7 +95,6 @@ public class KlasaOptional {
...
@@ -95,7 +95,6 @@ public class KlasaOptional {
System
.
out
.
println
(
"hej "
+
opt
.
map
(
String:
:
toLowerCase
).
orElse
(
"nieznajomy"
));
System
.
out
.
println
(
"hej "
+
opt
.
map
(
String:
:
toLowerCase
).
orElse
(
"nieznajomy"
));
}
}
System
.
out
.
println
();
System
.
out
.
println
();
//
for
(
Optional
<
String
>
opt
:
lista
)
{
for
(
Optional
<
String
>
opt
:
lista
)
{
String
napis
=
opt
.
filter
(
s
->
s
.
startsWith
(
"O"
)).
map
(
String:
:
toUpperCase
).
orElse
(
"---"
);
String
napis
=
opt
.
filter
(
s
->
s
.
startsWith
(
"O"
)).
map
(
String:
:
toUpperCase
).
orElse
(
"---"
);
...
...
src/main/java/pan_tadeusz/PoliczSlowaStream.java
0 → 100644
View file @
4594ceb5
package
pan_tadeusz
;
import
java.io.IOException
;
import
java.nio.charset.Charset
;
import
java.nio.file.Files
;
import
java.nio.file.Paths
;
import
java.util.Comparator
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
public
class
PoliczSlowaStream
{
private
static
final
String
SEP
=
"[^\\p{L}\\d]+"
;
public
static
void
main
(
String
[]
args
)
{
try
(
Stream
<
String
>
lines
=
Files
.
lines
(
Paths
.
get
(
"pan_tadeusz.txt"
),
Charset
.
forName
(
"UTF-8"
)))
{
lines
.
flatMap
(
line
->
Stream
.
of
(
line
.
split
(
SEP
)))
.
collect
(
Collectors
.
groupingBy
(
Function
.
identity
(),
Collectors
.
counting
()))
.
entrySet
()
.
stream
()
.
sorted
(
Map
.
Entry
.<
String
,
Long
>
comparingByValue
().
reversed
())
.
forEachOrdered
(
entry
->
System
.
out
.
println
(
entry
.
getKey
()
+
": "
+
entry
.
getValue
()));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
src/main/java/sprzedaz/MaszynaWczytujaca2.java
View file @
4594ceb5
...
@@ -21,7 +21,7 @@ import java.util.stream.Stream;
...
@@ -21,7 +21,7 @@ import java.util.stream.Stream;
* jest realizowana bezpośrednio przez JVM. Natomaist dla klas `BigDecimal` oraz `LocalDate`
* jest realizowana bezpośrednio przez JVM. Natomaist dla klas `BigDecimal` oraz `LocalDate`
* tworzę własną implementację tego mechanizmu opartą o słowniki.
* tworzę własną implementację tego mechanizmu opartą o słowniki.
* Ta technika służy przede wszystkim oszczędzaniu pamięci,
* Ta technika służy przede wszystkim oszczędzaniu pamięci,
* może zwrócić
się
czasowo, jeśli dane po wczytaniu będą później intensywnie używane chociażby w porównaniach,
* może zwrócić
się
czasowo, jeśli dane po wczytaniu będą później intensywnie używane chociażby w porównaniach,
* jest poprawna w przypadku klas niemutowalnych.
* jest poprawna w przypadku klas niemutowalnych.
*/
*/
...
@@ -34,6 +34,7 @@ public class MaszynaWczytujaca2 {
...
@@ -34,6 +34,7 @@ public class MaszynaWczytujaca2 {
String
[]
pola
=
linia
.
split
(
","
);
String
[]
pola
=
linia
.
split
(
","
);
int
sztuk
=
Integer
.
parseInt
(
pola
[
6
]);
int
sztuk
=
Integer
.
parseInt
(
pola
[
6
]);
// "2020-03-04" → LocalDate(2020, 3, 4)
LocalDate
data
=
pulaDat
.
computeIfAbsent
(
pola
[
0
],
LocalDate:
:
parse
);
LocalDate
data
=
pulaDat
.
computeIfAbsent
(
pola
[
0
],
LocalDate:
:
parse
);
BigDecimal
cena
=
pulaCen
.
computeIfAbsent
(
pola
[
5
],
BigDecimal:
:
new
);
BigDecimal
cena
=
pulaCen
.
computeIfAbsent
(
pola
[
5
],
BigDecimal:
:
new
);
...
...
src/main/java/sprzedaz/Opt4.java
View file @
4594ceb5
...
@@ -20,6 +20,5 @@ public class Opt4 {
...
@@ -20,6 +20,5 @@ public class Opt4 {
.
orElseGet
(()
->
"Nie znaleziono rekordów w mieście "
+
miasto
);
.
orElseGet
(()
->
"Nie znaleziono rekordów w mieście "
+
miasto
);
JOptionPane
.
showMessageDialog
(
null
,
tekst
);
JOptionPane
.
showMessageDialog
(
null
,
tekst
);
}
}
}
}
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