2016-09-14 24 views
-2

Ich habe mehrere Clients, jeder hat seine eigene ID. Ich muss die Clients und die ID in meiner Server-Klasse speichern, um Nachrichten an bestimmte Clients zu senden.So speichern Sie eine ID auf die richtige Weise

Ist es besser, die ID in der ClientHandler-Klasse zu speichern und den gesamten ClientHandler in eine Liste/ein Array aufzunehmen, dann die Liste zu durchlaufen und nach der richtigen ID zu suchen oder die ID und den ClientHandler in einer Map wie HashMap zu speichern?

Gleiches gilt für den PrintWriter eines jeden Clients. Soll ich jeden PrintWriter in einer Liste in meiner Server-Klasse speichern oder die ClientHandler/Sockets speichern und jedesmal list.get (xx) .getPrintWriter() verwenden?

+1

Verwenden Sie natürlich eine Hash-Map. Warum würdest du * O (N) * über * O (1) * wählen? Komische Frage. – EJP

Antwort

0

Dies ist eine klassische Kompromissentscheidung in der Programmierung. Die Verwendung eines Arrays erfordert nicht so viel Speicher wie eine HashMap, aber es wird fast immer langsamer. Sie müssen entscheiden, welche der beiden wichtiger ist.

Das gesagt, mit dem Stand der Hardware in diesen Tagen, müssten Sie wirklich geizig sein, keine HashMap zu verwenden.

Verwandte Themen