Java HashMap Tutorial - Java Programmieren Lernen - 42

preview_player
Показать описание
Mit einer HashMap kannst du dir in Java Werte in Form von Key und Value speichern. Warum das eine Map so besonders macht und wie du mit HashMaps in Java richtig arbeiten kannst zeige ich dir in diesem Video.

0:00 Einleitung
0:10 Aufbau von Maps
1:31 Verwendung von HashMaps
3:13 Maps auslesen
4:33 Wichtige HashMap-Methoden
5:27 CapitalQuiz erstellen
7:56 Schluss

📚Das könnte dich auch interessieren:

Eine HashMap ist eine Datenstruktur, in der es für jeden Eintrag zwei Werte gibt (Key und Value). Wenn du auf einen bestimmten Wert der HashMap zugreifen willst, brauchst du den entsprechenden Key. Das heißt, egal ob du ein Quiz, eine Bibliothek, eine Datenbank oder eine Tabelle mit zwei Einträgen speichern willst, die HashMap ist dafür optimal geeignet.

HashMaps können für den Anfang kompliziert erscheinen... aber ganz sicher wirst du es trotzdem verstehen! :) Wenn du neben dem #Tutorial mit mir mitmachst, Gratulation! Dann wirst du HashMaps in Java wirklich verinnerlichen!

Ich hoffe du hast Spaß an diesem HashMap-Tutorial! Lass mich in den Kommentaren wissen ob dir dieses Video geholfen hat, HashMaps in Java besser zu verstehen!

============
============
============

▬👇🏻Wichtige Links👇🏻 ▬▬▬▬

▬✨Über diesen Kanal✨ ▬▬▬▬
Du bist Student oder Schüler und möchtest die Programmiersprache Java Lernen, weißt aber nicht wo du anfangen sollst? Dann bist du auf diesem Kanal genau richtig!

Du findest auf diesem Kanal einen Leitfaden, der dir dabei hilft als Java Anfänger Schritt für Schritt Java zu lernen. Ich weiß, dass das nicht immer leicht ist und gebe mein Bestes, dir das Ganze so gut wie möglich zu erklären :) Viel Spaß!!

Jonas Keil❤

#Programmieren #Java

PS: Einige der Links in dieser Beschreibung sind Affiliate-Links, von denen ich eine Rückvergütung erhalte :)
Рекомендации по теме
Комментарии
Автор

❤Abonniere um kein weiteres Video zu verpassen:
📢Trete dem Discord Channel bei und werde teil der Community! :
🚀Mit dieser Playlist wirst DU zum Java-PROFI:

JonasKeil
Автор

Beste Java Videos für Studierenden an Deutscher Hochschule, ich werde alle deine Videos anschauen! unglaublich hilfreich! Danke:)

lyn
Автор

Abend. Ich weiß nicht, ob du diesen Kommentar sehen wirst, aber deine Videos sind echt genial! Ich habe gerade im Studium in Info Java und mit deinen Beiträgen hilfst du mir wirklich sehr! Danke :)

obi-wankenobi
Автор

Krass angenehme Stimme und hat mir echt weitergeholfen, Danke! 👏🔥

bittemitextrascharf
Автор

Danke für die super Erklärung. Genau das habe ich gesucht.

Zuschauer
Автор

Wenn wir der Map spezifische Datentypen geben möchten müssen wir Wrapper Typen benutzen. Map<Integer, String> bedeutet, dass wirr Objekte vom Wrapper-Typ Integer und String verwenden. Da Strings schon Objekte sind gilt es in diesem Fall nur für die int Werte.
Falls ich mich irre, bitte um Korrektur.
:)

marmont
Автор

Kleiner Tipp:

Wenn man direkt die Werte in der Zeile, bei der das Objekt erzeugt wird, eintragen möchte, dann kann man die statische Methode Map.of nutzen.

Also

Map<String, String> capitals = new HashMap<>(Map.of(''Frankreich'', ''Paris'', ''Russland'', ''Moskau''));

Die Map wird mutabel sein. Für eine immutable Map dann einfach direkt nach dem = ein Map.of nutzen :)

zahltag
Автор

Wenn man dein Bsp mit den Postleitzahlen tatsächlich nutzen wollte/müsste, hätte man ein 'kleines' Problem. Da es in Dtl. - und vermutlich nicht nur - durchaus den Fall gibt, dass sich mehrere Orte eine PLZ 'teilen' - siehe die PLZ 16727 - lässt sich eine (Hash)Map ja dann nicht mehr nutzen. Oder gibt's da eine 'Notlösung' ?

Und das Andere was mir aufgefallen ist, hat sich schon in den älteren Kommentaren geklärt: PLZ's als String statt als Int speichern, da es sonst mit der führenden Null ein Problem gibt.

DancerVlt
Автор

Kurze frage: mich verwirrt immer ein bisschen wieso man zb Map = Hashmap schreibt, und nicht direkt Hashmap = Hashmap.
Durch die erste weise verliert man doch im Grunde nur die fähigkeiten der hashmap oder man kann ja nur die eigenschaften des interfaces map benutzen

Michael-whmy
Автор

Ich kapiere es nicht ganz :( Sorry, wenn die Frage dumm klingt, aber was ist der Unterschied zu einer ArrayListe?

mariyakostova
Автор

Hier mein modifiziertes Quiz-Programm: die Daten zum Befüllen der Map werden dabei von einer lokalen .txt-Datei eingelesen, bei denen Land und Hauptstadt durch einen Tab voneinander getrennt sind. Außerdem merkt sich das Programm, welche Städte bereits korrekt genannt wurden, so dass die zugehörigen Länder nicht erneut abgefragt werden.

package youTube.keilJonas;

import java.io.File;
import
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;

public class CapitalQuiz {

public static void main(String[] args) {

Map<String, String> capitalCities = new HashMap<>();

File landHauptstadtTabelle = new File("LaenderQuiz.txt");

if {
willkommen zum tollen Land-Hauptstadt-Quiz!\nMit der Eingabe von 'quit' beendet du das Quiz...\n");

Scanner sc = null;

try {
sc = new Scanner(landHauptstadtTabelle, "UTF-8");
sc.useDelimiter("\t");

while(sc.hasNext()) {
landStadtPaar =

> 0) {
landStadtPaar[1]);

}

sc.close();
} catch(FileNotFoundException e) {
System.out.println("Oh, wir haben leider zurzeit Schwiergkeiten auf unsere Datenserver zuzugreifen...\nVersuch es spaeter noch einmal.");
}


} else {
404 @_@!");
}

if (capitalCities.size() > 0) {
List<String> countries = new ArrayList<>();

String country = "";

List<String> bereitsGemacht = new ArrayList<>();

Random rnd = new Random();
Scanner sc = new Scanner(System.in);
String antwort = "";
int score = 0;

// gameloop

gameloop: while(true) {

if (bereitsGemacht.size() == countries.size()) {
Keine Laender mehr uebrig :)!\n");
gameloop;
}

benutzerEingabe: while(true) {
ind =
= countries.get(ind);


(bereitsGemacht.size() > 0) {

(String land : bereitsGemacht) {

(land.equals(country)) {
benutzerEingabe;





ist die Hauptstadt von " + country + "?: ");
benutzerEingabe;
}

antwort = sc.nextLine().toLowerCase();

if {
fuer's Spielen! Bye~\n");

} else if {



} else {
Richtig waere gewesen: " + capitalCities.get(country) + "\n");
}

}

System.out.println("Du hast " + score + " Punkte erreicht :)");
sc.close();
} else {
System.out.println("Keine Daten, kein Spiel... bye!");
}

}

}

OettingerPirat
Автор

ne frage hat wer eine idee? Habs verscht es zu benutzen und ein AlphabetzuBinary übersetzer zu bauen... so sieht mein Code aus:
HashMap<Character, Integer> alphabet = new HashMap<Character, Integer>();


alphabet.put('A', alphabet.put('B', 01000010);

wenn ich dies allerdings ausgebebe mit deer get 'A' Methode kommt leider nicht etwa sondern {A=262145, B=262152 bei System.out heraus. Wo kommen die zahlen bitte her? Kann mir wer helfen? Wäre echt dankbar. :)

btw super Video.

gunny