每次客户端向服务器发送请求而不重复时获取随机值

时间:2016-09-23 06:16:43

标签: java hashmap

如果我在服务器中的hashmap中有句子。例如,5个句子。这里很棘手的是客户端会为他使用特殊ID。服务器将使用此ID来跟踪与客户端ID相关的句子。例如: 服务器中的HashMap 第1句 第2句 第3句 第4句

当客户端发送请求时,服务器将随机发送 第3句 第二个请求 第4句 第三个要求 第1句 第四个要求 第2句 直到hashmap随机完成 如果客户端发送新请求,服务器将发送新的句子随机循环

我无法发送 第1句 第1句 或者判刑1 第2句

2 个答案:

答案 0 :(得分:0)

假设您已经处理了请求的单例性质(通过使用单线程服务器或具有同步单例),那么您只需要像this answer中那样使用一个混洗的数组键列表。

答案 1 :(得分:0)

您可以使用列表执行以下操作。

list.get(random.nextInt(list.size()));

random必须是Random的实例。您不应该在很短的时间内创建多个,以避免多次获得相同的随机数。

如果要选择多个元素并避免重复,可以从列表中删除拾取的元素。