Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jvstd1
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
jvstd1
Commits
021c57d8
Commit
021c57d8
authored
Sep 30, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Zbieranie danych - Set
parent
aab545a6
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
135 additions
and
0 deletions
+135
-0
P1_Tablica.java
src/main/java/p10_zbieranie_danych/P1_Tablica.java
+1
-0
P2_Lista.java
src/main/java/p10_zbieranie_danych/P2_Lista.java
+6
-0
P3_Zbior.java
src/main/java/p10_zbieranie_danych/P3_Zbior.java
+60
-0
P4_TreeSet.java
src/main/java/p10_zbieranie_danych/P4_TreeSet.java
+68
-0
No files found.
src/main/java/p10_zbieranie_danych/P1_Tablica.java
View file @
021c57d8
...
...
@@ -34,6 +34,7 @@ public class P1_Tablica {
System
.
out
.
println
();
System
.
out
.
println
();
// Drugi etap: użytkownik podaje numer, a program odczytuje wartość z podanej pozycji.
System
.
out
.
println
(
"Podawaj numer pozycji, a zakończ pisząc -1"
);
while
(
true
)
{
System
.
out
.
print
(
"numer: "
);
...
...
src/main/java/p10_zbieranie_danych/P2_Lista.java
View file @
021c57d8
...
...
@@ -11,8 +11,14 @@ public class P2_Lista {
Scanner
scanner
=
new
Scanner
(
System
.
in
);
// W tej wersji dane są zapisywane w liście - nie potrzebujemy pytać o rozmiar.
// 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
List
<
String
>
lista
=
new
ArrayList
<>();
System
.
out
.
println
(
"Podawaj imiona. Zakończ wciskając enter."
);
for
(;;)
{
// różnoważne while(true)
System
.
out
.
print
(
"Podaj następne imię: "
);
String
imie
=
scanner
.
nextLine
();
...
...
src/main/java/p10_zbieranie_danych/P3_Zbior.java
0 → 100644
View file @
021c57d8
package
p10_zbieranie_danych
;
import
java.util.*
;
/* Program gromadzi w pamięci dane wprowadzane przez użytkownika (przykładowo będą to imiona)
a następnie je wypisuje i pozwala odczytywać je pojedynczo.
*/
public
class
P3_Zbior
{
public
static
void
main
(
String
[]
args
)
{
Scanner
scanner
=
new
Scanner
(
System
.
in
);
// W tej wersji dane są zapisywane w zbiorze.
// 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ść (wg własnych zasad w oparciu o haszkody, na co nie mamy wpływu)
// → 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.
Set
<
String
>
zbior
=
new
HashSet
<>();
System
.
out
.
println
(
"Podawaj imiona. Zakończ wciskając enter."
);
while
(
true
)
{
System
.
out
.
print
(
"Podaj następne imię: "
);
String
imie
=
scanner
.
nextLine
();
if
(
imie
.
isEmpty
())
break
;
if
(
zbior
.
add
(
imie
))
{
System
.
out
.
println
(
"imię "
+
imie
+
" zostało dodane"
);
}
else
{
System
.
out
.
println
(
"imię "
+
imie
+
" występowało już wcześniej"
);
}
}
// wypisanie zbioru = jego zawartości
System
.
out
.
println
(
zbior
);
System
.
out
.
println
();
for
(
String
imie
:
zbior
)
{
System
.
out
.
print
(
imie
.
toUpperCase
()
+
" "
);
}
System
.
out
.
println
();
System
.
out
.
println
();
// W przypadku zbiorów najbardziej podstawową operacją odczytu jest sprawdzenie,
// czy zbiór zawiera wartość. Ta operacja dla zbiorów działa wydajnie.
System
.
out
.
println
(
"Podawaj imiona, a ja sprawdzę, czy je posiadam. Zakończ wciskając enter."
);
while
(
true
)
{
System
.
out
.
print
(
"imie: "
);
String
imie
=
scanner
.
nextLine
();
if
(
imie
.
isEmpty
())
break
;
if
(
zbior
.
contains
(
imie
))
{
System
.
out
.
println
(
"osoba "
+
imie
+
" należy do zbioru"
);
}
else
{
System
.
out
.
println
(
"osoba "
+
imie
+
" NIE należy do zbioru"
);
}
}
}
}
src/main/java/p10_zbieranie_danych/P4_TreeSet.java
0 → 100644
View file @
021c57d8
package
p10_zbieranie_danych
;
import
java.text.Collator
;
import
java.util.Locale
;
import
java.util.Scanner
;
import
java.util.Set
;
import
java.util.TreeSet
;
/* Program gromadzi w pamięci dane wprowadzane przez użytkownika (przykładowo będą to imiona)
a następnie je wypisuje i pozwala odczytywać je pojedynczo.
*/
public
class
P4_TreeSet
{
public
static
void
main
(
String
[]
args
)
{
Scanner
scanner
=
new
Scanner
(
System
.
in
);
// W tej wersji dane są zapisywane w zbiorze.
// 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ść (wg własnych zasad w oparciu o haszkody, na co nie mamy wpływu)
// → 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.
// Set<String> zbior = new TreeSet<>();
// kolejność alfabetu tego języka, który jest ustawiony w systemie
// Set<String> zbior = new TreeSet<>(Collator.getInstance());
// kolejność alfabetu polskiego
Set
<
String
>
zbior
=
new
TreeSet
<>(
Collator
.
getInstance
(
Locale
.
of
(
"pl"
,
"PL"
)));
System
.
out
.
println
(
"Podawaj imiona. Zakończ wciskając enter."
);
while
(
true
)
{
System
.
out
.
print
(
"Podaj następne imię: "
);
String
imie
=
scanner
.
nextLine
();
if
(
imie
.
isEmpty
())
break
;
if
(
zbior
.
add
(
imie
))
{
System
.
out
.
println
(
"imię "
+
imie
+
" zostało dodane"
);
}
else
{
System
.
out
.
println
(
"imię "
+
imie
+
" występowało już wcześniej"
);
}
}
// wypisanie zbioru = jego zawartości
System
.
out
.
println
(
zbior
);
System
.
out
.
println
();
for
(
String
imie
:
zbior
)
{
System
.
out
.
print
(
imie
.
toUpperCase
()
+
" "
);
}
System
.
out
.
println
();
System
.
out
.
println
();
// W przypadku zbiorów najbardziej podstawową operacją odczytu jest sprawdzenie,
// czy zbiór zawiera wartość. Ta operacja dla zbiorów działa wydajnie.
System
.
out
.
println
(
"Podawaj imiona, a ja sprawdzę, czy je posiadam. Zakończ wciskając enter."
);
while
(
true
)
{
System
.
out
.
print
(
"imie: "
);
String
imie
=
scanner
.
nextLine
();
if
(
imie
.
isEmpty
())
break
;
if
(
zbior
.
contains
(
imie
))
{
System
.
out
.
println
(
"osoba "
+
imie
+
" należy do zbioru"
);
}
else
{
System
.
out
.
println
(
"osoba "
+
imie
+
" NIE należy do zbioru"
);
}
}
}
}
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