2016-09-14 90 views
-2

我有多个客户端,每个客户端都有自己的ID。我需要将客户端和ID保存在我的服务器类中,以便将消息发送到特定的客户端。如何以正确的方式保存ID

将ID保存在ClientHandler类中并将所有ClientHandler放入列表/数组中,然后遍历列表并搜索正确的ID或将ID和ClientHandler保存在像HashMap这样的Map中更好吗?

与每个客户端的PrintWriter相同。我应该将每个PrintWriter保存在服务器类的列表中,还是每次都保存ClientHandlers/Sockets并使用list.get(xx).getPrintWriter()?

+1

当然,使用哈希映射。为什么你会选择* O(N)* over * O(1)*?奇怪的问题。 – EJP

回答

0

这是编程中的一个典型的妥协决定。使用数组不会像HashMap那样需要尽可能多的内存,但它几乎总是比较慢。你需要决定哪一个更重要。

这就是说,随着硬件状态的这些日子,你需要非常吝啬不要使用HashMap。