@Override public synchronized String toString() { String ret = ""; for (int i = 0; i < weights.size(); i++) ret += values.get(i).toString() + " - " + weights.get(i) + "\r\n"; return ret; }
/** * Вернет один из елементов или null, null возможен только если сумма весов всех елементов меньше * max_weight */ public synchronized E chance(int max_weight) { if (total_weight == 0) return null; int r = Rnd.get(max_weight); for (int i = 0; i < weights.size(); i++) if (weights.get(i) > r) return values.get(i); return null; }