Java et HashMap - comment ajouter des valeurs existantes?

Je suis actuellement en train de travailler sur une application client/serveur, et je suis en utilisant une table de hachage pour identifier chaque client. Le client passe en deux valeurs pour le serveur - id et x. Je suis à l'aide de id que ma clé, et pour chaque élément dans la table de hachage, je voudrais utiliser la valeur de x à ajouter à la valeur de l'élément spécifique avec la clé correspondante id.

J'ai le code suivant:

HashMap<Integer, Integer> clients = new HashMap<Integer, Integer>();

int x;
sock = serv.accept();
in = new ObjectInputStream(sock.getInputStream());
in2 = sock.getInputStream();
out = new ObjectOutputStream(sock.getOutputStream());

int id = in2.read();
System.out.println("id = " + id);
Object o = in.readObject();         
System.out.println("Server received " + o);
if (o instanceof Integer) {
    x = ((Integer) o).intValue();
    clients.put(id, 0 + x); //doesn't work, I need to be able to add to the existing value instead of overwriting the value

} else if (o instanceof String) {
    clients.put(id, 0);
}
out.writeObject(clients.get(id));
out.flush();

Quelqu'un pourrait-il m'aider?

  • par ajouter vous dire plus en mathématiques contexte ou vous souhaitez ajouter un plus de valeur mappée avec cette clé
  • Je veux dire que dans les mathématiques contexte. Par exemple, si le client passe 1 et 3, la première fois, le serveur doit renvoyer 3. Si le client passe 1 et 5 de la deuxième fois, le serveur doit renvoyer 8. Toutefois, si le client passe 2 et 7, le serveur doit renvoyer 7, depuis le 2 est un id différent de 1.
InformationsquelleAutor Pink Jazz | 2014-01-27