Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.bukkit.entity.Player;
- import java.util.ArrayList;
- import java.util.HashMap;
- /**
- * Created by Vinetos on 08/01/2016.
- */
- public class HashMaps {
- /**
- *
- * Une Hashmap (également utiliser sous le nom de "Map" permet de stocker deux valeurs associées.
- * La première étant la valeur clef ("Key") et la deuxième la valeur ("Value").
- * Il ne peut y avoir qu'une valeur clef par HashMap. Par exemple si tu insères "Test" avec "Concluant".
- * Si tu re-ajoutes la valeur "Test", la premère valeur assigné sera supprimée par la dernière entrée.
- * En revanche, tu peux mettre autant de valeusr "Value" identiques, cela fonctionnera sans problème
- *
- **/
- private HashMap<Player, String> hashMap = new HashMap<Player, String>();
- //Ici, j'ai comme Key un Player et comme valeur un String (Un joueur et un message associé)
- public void addPlayer(Player p, String message){
- /*Ajout*/
- if(hashMap.containsKey(p))return;//Si l'HashMap contient déjà le joueur
- hashMap.put(p, message);//On ajoute le Player (Key) et le String (Value)
- /*L'avantage c'est qu'on peut récupérer le message asscocié au joueur*/
- String s = hashMap.get(p);//On récupère à partir de la Key, la value associée (Malheuresement, il n'y a pas l'inverse)
- p.sendMessage(s);
- hashMap.put(p, "Un autre message");//On remplace la valeur existante par notre nouveau message
- String newMsg = hashMap.get(p);
- p.sendMessage(s);//On obtient "Un autre message".
- /*Convertion*/
- ArrayList<Player> players = new ArrayList<Player>();
- players.addAll(hashMap.keySet());//On ajoute toutes les valeurs clefs dans l'ArrayList
- ArrayList<String> msgs = new ArrayList<String>();
- msgs.addAll(hashMap.values());//On ajoute toutes les valeurs dans l'ArrayList
- /*.keySet() -> Toutes les Key
- *.values() -> Toutes les valeurs
- */
- /*Suppression*/
- hashMap.remove(p);//On enlève la Key de l'HashMap (donc sa valeur aussi) On ne peux pas supprimer à partir d'une valeur
- hashMap.clear();//On supprime tout
- /*Autre*/
- //Il y a aussi des fonctions "de base" comme pour les arrayList
- boolean empty = hashMap.isEmpty();//Si l'HashMap est vide -> true
- int size = hashMap.size();//Le nombre de valeurs Clefs dans l'HashMap
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment