2016-09-14 89 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。

相關問題