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
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