Compare commits

..

3 Commits

Author SHA1 Message Date
Matti
f5319538ad Add 3 3 (ArrayList vs LinkedList) 2024-05-09 16:54:44 +02:00
Matti
97ae6d91b6 Backup 2024-05-07 17:35:41 +02:00
Matti
c01b28001a Update gitignore 2024-05-07 17:29:01 +02:00
9 changed files with 83 additions and 59 deletions

2
.gitignore vendored
View File

@ -28,4 +28,4 @@ bin/
### Mac OS ###
.DS_Store
/src/part2/aufg1/output_files/
output_files/
**/output_files/

View File

@ -10,6 +10,7 @@
<br>Sowohl SourceCode, PDF als auch Word Datei
- VL 2 Aufgabe 1 (Erstellen von Testdaten)
- VL 2 Aufgabe 2 (StringTokenizer)
- VL 3 Aufgabe 3 (ArrayList vs LinkedList)
- keine

View File

@ -1,25 +0,0 @@
100025#Ingo#Andrack#Nelkenweg#111#70192 Stuttgart#856.0
100026#Uschi#Kaiser#Dorfstr.#107#70192 Stuttgart#1172.0
100027#Susanne#Meier#Nelkenweg#53#70191 Stuttgart#1540.0
100028#Marion#Andrack#Beethovenallee#23#72070 T<>bingen#1886.0
100029#Carola#Hellmann#Schillerstr.#128#70197 Stuttgart#1837.0
100030#Jochen#Hinz#Nelkenweg#39#72186 Empfingen#1035.0
100031#Uschi#Schmidt#Ulmer Str.#89#70193 Stuttgart#529.0
100032#Marion#Ullmann#Mönchner Str.#70#72189 V<>hringen#1621.0
100033#Susanne#Mayer#Hauptstr.#105#72182 Eutingen#685.0
100034#Ingo#Fuchs#Rosenweg#86#72189 V<>hringen#1916.0
100035#Carola#Hinz#Freiburger Str.#3#72070 T<>bingen#1774.0
100036#Ingo#Hinz#Stuttgarter Str.#90#70191 Stuttgart#1504.0
100037#Uschi#Andrack#Nelkenweg#57#72186 Empfingen#508.0
100038#Jochen#Meier#Rosenweg#56#72072 T<>bingen#774.0
100039#Holger#Schmidt#Nelkenweg#19#72076 T<>bingen#1427.0
100040#Jochen#Meier#Schillerstr.#106#72070 T<>bingen#1436.0
100041#Frank#Andrack#Nelkenweg#26#72070 T<>bingen#928.0
100042#Uschi#Schmidt#Schillerstr.#79#70327 Stuttgart#1560.0
100043#Marion#Schmidt#Beethovenallee#32#70195 Stuttgart#1233.0
100044#Uschi#Mayer#Mönchner Str.#9#70193 Stuttgart#1851.0
100045#Holger#Hinz#Rosenweg#119#72186 Empfingen#1759.0
100046#Marion#Ullmann#Goetheweg#116#70191 Stuttgart#1131.0
100047#Uschi#Zerlett#Ulmer Str.#134#72187 V<>hringen#1143.0
100048#Uschi#Kaiser#Dorfstr.#48#72186 Empfingen#1710.0
100049#Susanne#Hampel#Beethovenallee#91#72076 T<>bingen#1729.0

View File

@ -1,25 +0,0 @@
100000 Holger Andrack Freiburger Str. 127 70191 Stuttgart 1313.0
100001 Steffi Mayer Dorfstr. 52 70191 Stuttgart 1816.0
100002 Stefan Novincack Rosenweg 12 72076 T<>bingen 691.0
100003 Marion Meier Goetheweg 8 72181 Starzach 1713.0
100004 Stefan Hampel Goetheweg 64 72187 V<>hringen 788.0
100005 Steffi Fuchs Stuttgarter Str. 84 72070 T<>bingen 652.0
100006 Marion Kaiser Nelkenweg 86 72074 T<>bingen 1632.0
100007 Holger Hampel Ulmer Str. 69 70197 Stuttgart 1976.0
100008 Ingo Kaiser Freiburger Str. 108 72218 Wildberg 995.0
100009 Ingo Hinz Schillerstr. 9 70191 Stuttgart 1761.0
100010 Jochen Meier Stuttgarter Str. 141 70192 Stuttgart 1115.0
100011 Ingo Meier Mönchner Str. 74 72186 Empfingen 803.0
100012 Uschi Fuchs Freiburger Str. 35 70191 Stuttgart 1842.0
100013 Marion Zerlett Mönchner Str. 80 70327 Stuttgart 1545.0
100014 Marion Novincack Hauptstr. 20 70327 Stuttgart 1923.0
100015 Steffi Hampel Schillerstr. 73 70179 Stuttgart 1606.0
100016 Carola Zerlett Freiburger Str. 124 70195 Stuttgart 917.0
100017 Steffi Novincack Schillerstr. 129 72189 Vöhringen 1696.0
100018 Frank Kaiser Dorfstr. 115 72160 Horb 1236.0
100019 Uschi Fuchs Ulmer Str. 144 70193 Stuttgart 574.0
100020 Holger Andrack Ulmer Str. 115 72189 V<>hringen 1985.0
100021 Susanne Andrack Stuttgarter Str. 20 70197 Stuttgart 1419.0
100022 Holger Zerlett Nelkenweg 142 72181 Starzach 1948.0
100023 Carola Kaiser Freiburger Str. 121 70327 Stuttgart 1641.0
100024 Carola Mayer Mönchner Str. 112 70192 Stuttgart 1386.0

View File

@ -1,13 +1,16 @@
package part3.aufg3;
import java.util.ArrayList;
import java.util.LinkedList;
/**
* Aufgabe 3
* Es soll die Einfügeperformance der beiden Klassen LinkedList und ArrayList verglichen
* Aufgabe 3
* Es soll die Einfügeperformance der beiden Klassen LinkedList und ArrayList verglichen
* werden.
* Entwickeln Sie dazu ein Programm, das 10.000, 20.000, 50.000, 100.000, 200.000,
* 500.000, 1.000.000, 2.000.000, 5.000.000, 10.000.000, 20.000.000 und 50.000.000
* zufällig generierte Zeichenketten der Länge 10 bis 16 aufnimmt.
* Führen Sie jede Messung 10mal durch und dokumentieren Sie die Werte! Berechnen Sie
* Entwickeln Sie dazu ein Programm, das 10.000, 20.000, 50.000, 100.000, 200.000,
* 500.000, 1.000.000, 2.000.000, 5.000.000, 10.000.000, 20.000.000 und 50.000.000
* zufällig generierte Zeichenketten der Länge 10 bis 16 aufnimmt.
* Führen Sie jede Messung 10mal durch und dokumentieren Sie die Werte! Berechnen Sie
* jeweils den Mittelwert!
*
*
@ -22,7 +25,77 @@ package part3.aufg3;
*/
public class Anwendung {
public static void main(String[] args){
public static String getRandomString(int MIN_LENGTH, int MAX_LENGTH) {
char[] alphabet = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
int size;
do {
size = (int) (Math.random() * MAX_LENGTH);
} while (size < MIN_LENGTH);
String output = "";
int index;
for (int i = 0; i < size; i++) {
index = (int) (Math.random() * alphabet.length);
output += alphabet[index];
}
return output;
}
public static void fillWithRandomStrings(LinkedList<String> ls, int amount) {
for (int i = 0; i < amount; i++) {
ls.add(getRandomString(10, 16));
}
}
public static void fillWithRandomStrings(ArrayList<String> ls, int amount){
for (int i=0; i<amount; i++){
ls.add(getRandomString(10,16));
}
}
public static void main(String[] args) {
int stringsToAdd = 50_000_000;
long totalTimeSpent = 0;
int measurements = 10;
for (int i = 0; i < measurements; i++) {
long timeStart = System.currentTimeMillis();
// LinkedList<String> ls = new LinkedList<>();
ArrayList<String> ls = new ArrayList<>();
fillWithRandomStrings(ls, stringsToAdd);
long timeEnd = System.currentTimeMillis();
long timeSpent = timeEnd-timeStart;
totalTimeSpent += timeSpent;
System.out.println(timeSpent);
}
System.out.println("Average of " + measurements + ": " + (totalTimeSpent/measurements));
}
}
/*
Linked List: ArrayLis:
10k 10 single Time of 0 ??? 7
20k 9 Here too ?? 11
50k 24 22
100k 47 37
200k 99 74
500k 245 188
1Mil 737 350
2Mil 1576 688
5Mil 4173 1650
10Mil 8600 3300
20Mil 17750 6690
50Mil 43600 24860
*/