Выбор случайного элемента из коллекции

AnyLogic предоставляет функции для выбора случайного элемента из заданной коллекции. Эти функции определены в классе UtilitiesCollection и являются глобальными (доступными из любой части модельного кода). Любую функцию из списка ниже можно вызвать, просто напечатав ее имя, без префикса с именем коллекции: randomWhere( people, p -> p.income > 10000 ); 

randomWhere( коллекция, condition ) - Возвращает один случайно выбранный элемент из заданной коллекции, который удовлетворяет заданному условию. Если коллекция пуста, или отсутствует элемент, удовлетворяющий заданному условию, функция вернет null.

Примеры:  Person wealthyPerson = randomWhere( people, p -> p.income > 10000 );

Person wealthyMan = randomWhere( people, p -> p.income > 10000 && p.sex == MALE );

В этом примере мы проверяем два условия (используем логический оператор AND &&, чтобы указать AnyLogic, что результаты вычислений обоих заданных условий должны быть равны true). Функция возвращает случайно выбранный элемент, удовлетворяющий обоим условиям.

Person wealthyYoungMan = randomWhere( people, p -> p.income > 10000 && p.sex == MALE && p.age < 21 );

Также доступна другая функция, позволяющая использовать нестандартный генератор случайных чисел вместо используемого по умолчанию:

randomWhere( collection, condition, java.util.Random r ) - Подобна randomWhere( коллекция, условие ). Использует указанный нестандартный генератор случайных чисел для выбора элемента.