在Java中维护值列表的最佳方法

时间:2013-11-17 17:10:04

标签: java collections hashmap

我有一个类,其中包含已连接客户端的列表,其用户名为密钥,客户端实例为值。到目前为止,该课程看起来像这样:

public class ClientList {

    private static HashMap<String, Client> clients = new HashMap<>();

    /**
     * Add a client to the list of connected clients
     *
     * @param username Unique client key
     * @param client The client to add to the list
     */
    public static void add(String username, Client client) {
        clients.put(username, client);
    }

    /**
     * Remove a client from the list
     *
     * @param username the client to remove
     */
    public static void remove(String username) {
        clients.remove(username);
    }

    /**
     * Get the client in the list that has the given username
     *
     * @param username The username of the client to return
     * @return The client with a matching username
     */
    public static Client getClient(String username) {
        return clients.get(username);
    }

    /**
     * @return The client list
     */
    public static HashMap<String, Client> getList() {
        return clients;
    }

}

然而,在复习课程后,我意识到所有这些方法都只是将params传递给HashMap类,这意味着ClientList类不会给程序带来任何新东西。既然如此,我知道我可以在某处创建静态HashMap<String, Client>并使用它而无需为它创建一个全新的类;我的问题是我没有任何合适的类来存储列表,例如我的ClientListener类访问列表我不想静态访问具有不相关名称的类,例如{ {1}}。所以我的问题是,处理这张地图的最佳方法是保持适当的可读性吗?

1 个答案:

答案 0 :(得分:1)

您可能需要singleton pattern