Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要确保指定网页的每个用户以随机顺序返回对象列表。我需要确保如果重新加载页面,这些对象保持相同的随机顺序。以下初始化随机数生成器的方法是否可以确保我始终在每个用户的基础上获得相同的随机数序列,无论使用的是哪个 JVM 或 JVM 版本?
Random random = new Random(); random.setSeed(username.hashCode());
我们不需要真正的随机性,我们只需要确保每个用户不会以相同的顺序看到“问题”。
从Oracle 文档:
如果使用相同的种子创建 Random 的两个实例,并且为每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
因此,如果Random使用相同的种子(例如 your username.hashcode)初始化两个对象,并且对这些对象进行相同的调用序列,那么它们将始终返回相同的结果。
Random
username.hashcode