Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
2
20231104-KursPodstawowyALX
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
20231104-KursPodstawowyALX
Commits
c6cd4597
Commit
c6cd4597
authored
Jan 06, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Dodatkowe uzupełnienia do zbierania danych
parent
eb4ab4d1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
97 additions
and
0 deletions
+97
-0
P2_Lista.java
src/main/java/p12_kolekcje/zbieranie_danych/P2_Lista.java
+4
-0
P3_HashSet.java
src/main/java/p12_kolekcje/zbieranie_danych/P3_HashSet.java
+8
-0
P5_HashMap.java
src/main/java/p12_kolekcje/zbieranie_danych/P5_HashMap.java
+6
-0
P7_Queue.java
src/main/java/p12_kolekcje/zbieranie_danych/P7_Queue.java
+41
-0
P8_PriorityQueue.java
.../java/p12_kolekcje/zbieranie_danych/P8_PriorityQueue.java
+38
-0
No files found.
src/main/java/p12_kolekcje/zbieranie_danych/P2_Lista.java
View file @
c6cd4597
...
...
@@ -4,6 +4,10 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.Scanner
;
// Listy:
// - mogą zawierać duplikaty (tę wartość kilka razy),
// - przechowują elementy na określonych pozycjach od 0 do size-1,
// za pomocą get(i) można odczytać, a za pomocą set(i, nowaWartosc) zmienić konkretny element listy
public
class
P2_Lista
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/p12_kolekcje/zbieranie_danych/P3_HashSet.java
View file @
c6cd4597
...
...
@@ -4,6 +4,14 @@ import java.util.HashSet;
import
java.util.Scanner
;
import
java.util.Set
;
// Zbiory:
// - nie zawierają duplikatów (dodanie kolejny raz tej samej wartości nie zmienia już zbioru),
// - mają prawo zmienić kolejność elementów
// → HashSet zmienia kolejność
// → LinkedHashSet nie zmienia kolejności (zachowuje początkową kolejność, w jakiej elementy były dodawane)
// → TreeSet samoczynnie sortuje elementy
// Podstawową (i wydajną) operacją dla zbioru jest sprawdzenie czy element należy do zbioru.
public
class
P3_HashSet
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/p12_kolekcje/zbieranie_danych/P5_HashMap.java
View file @
c6cd4597
...
...
@@ -4,6 +4,12 @@ import java.util.HashMap;
import
java.util.Map
;
import
java.util.Scanner
;
// Słowniki (mapy):
// - zawierają pary klucz → wartość
// - klucze nie mogą się powtarzać, wartości mogą
// - wydajne są operacje dodawanie elementu i pobierania/wyszukiwania poprzez klucz
// - niewydaje jest wyszukiwanie poprzez wartość
public
class
P5_HashMap
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/p12_kolekcje/zbieranie_danych/P7_Queue.java
0 → 100644
View file @
c6cd4597
package
p12_kolekcje
.
zbieranie_danych
;
import
java.util.LinkedList
;
import
java.util.Queue
;
import
java.util.Scanner
;
public
class
P7_Queue
{
// Kolejka to struktura danych zoptymalizowana pod kątem dostępu do "następnego elementu"
// (operacja poll() lub get()).
// * Kolejka prosta zachowuje kolejność elementów i następnym elementem do pobrania jest ten,
// który został najdawniej w kolejce umieszczony.
// Jak "sprawiedliwa" kolejna do kasy w sklepie.
// Najczęściej jest to jednocześnie kolejka dwukońcowa (Dequeue) z możliwością dostepu do obu jej końców.
public
static
void
main
(
String
[]
args
)
{
Scanner
scanner
=
new
Scanner
(
System
.
in
);
Queue
<
String
>
kolejka
=
new
LinkedList
<>();
// albo ArrayDequeue; - to są "kolejki proste"
System
.
out
.
println
(
kolejka
);
System
.
out
.
println
(
"Podawaj kolejne elementy, aby dodać do kolejki.\nWpisz '?', aby pobrać element z kolejki, a Enter aby zakończyć program"
);
while
(
true
)
{
System
.
out
.
println
(
"Kolejka: "
+
kolejka
);
System
.
out
.
print
(
"> "
);
String
napis
=
scanner
.
nextLine
();
if
(
napis
.
isEmpty
())
break
;
if
(
napis
.
equals
(
"?"
))
{
String
pobrane
=
kolejka
.
poll
();
System
.
out
.
println
(
"Pobrany element: "
+
pobrane
);
}
else
{
System
.
out
.
println
(
"Dodany element: "
+
napis
);
kolejka
.
add
(
napis
);
}
}
System
.
out
.
println
(
"Końcowy rozmiar kolejki "
+
kolejka
.
size
());
System
.
out
.
println
(
kolejka
);
System
.
out
.
println
(
"Koniec programu"
);
}
}
src/main/java/p12_kolekcje/zbieranie_danych/P8_PriorityQueue.java
0 → 100644
View file @
c6cd4597
package
p12_kolekcje
.
zbieranie_danych
;
import
java.util.PriorityQueue
;
import
java.util.Queue
;
import
java.util.Scanner
;
public
class
P8_PriorityQueue
{
// * Kolejka priorytetowa może nie zachowywać kolejności (możliwe jest tzw. "zagłodzenie").
// Następnym elementem do pobranie jest element o najwyższym priorytecie
// - w Javie jest to element o najmniejszej wartości (np. napis najwcześniejszy alfabetycznie).
public
static
void
main
(
String
[]
args
)
{
Scanner
scanner
=
new
Scanner
(
System
.
in
);
Queue
<
String
>
kolejka
=
new
PriorityQueue
<>();
System
.
out
.
println
(
kolejka
);
System
.
out
.
println
(
"Podawaj kolejne elementy, aby dodać do kolejki.\nWpisz '?', aby pobrać element z kolejki, a Enter aby zakończyć program"
);
while
(
true
)
{
System
.
out
.
println
(
"Kolejka: "
+
kolejka
);
System
.
out
.
print
(
"> "
);
String
napis
=
scanner
.
nextLine
();
if
(
napis
.
isEmpty
())
break
;
if
(
napis
.
equals
(
"?"
))
{
String
pobrane
=
kolejka
.
poll
();
System
.
out
.
println
(
"Pobrany element: "
+
pobrane
);
}
else
{
System
.
out
.
println
(
"Dodany element: "
+
napis
);
kolejka
.
add
(
napis
);
}
}
System
.
out
.
println
(
"Końcowy rozmiar kolejki "
+
kolejka
.
size
());
System
.
out
.
println
(
kolejka
);
System
.
out
.
println
(
"Koniec programu"
);
}
}
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