不确定我是否理解正确的问题。我会用一个TreeMap<Double, Movie>
。
示例:假设您有电影A(60%),电影B(30%)和电影C(10%)。
TreeMap<Double, Movie> movies = new TreeMap<>();
movies.put(0.6, new Movie("Movie A"));
movies.put(0.9, new Movie("Movie B")); // 0.6 + 0.3
movies.put(1.0, new Movie("Movie C")); // 0.6 + 0.3 + 0.1
Double probability = Math.random(); // between 0 (inclusive) and 1.0 (exclusive)
Movie chosen = movies.higherEntry(probability).getValue();
我将把人口和概率的重新安排留给您。