Class ListValueRange<T>
- java.lang.Object
-
- org.optaplanner.core.impl.domain.valuerange.AbstractCountableValueRange<T>
-
- org.optaplanner.core.impl.domain.valuerange.buildin.collection.ListValueRange<T>
-
- All Implemented Interfaces:
CountableValueRange<T>
,ValueRange<T>
public class ListValueRange<T> extends AbstractCountableValueRange<T>
-
-
Constructor Summary
Constructors Constructor Description ListValueRange(List<T> list)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(T value)
Iterator<T>
createOriginalIterator()
Select the elements in original (natural) order.Iterator<T>
createRandomIterator(Random workingRandom)
Select in random order, but without shuffling the elements.T
get(long index)
Used by uniform random selection in a composite or nullable CountableValueRange.long
getSize()
Used by uniform random selection in a composite or nullable CountableValueRange.String
toString()
-
Methods inherited from class org.optaplanner.core.impl.domain.valuerange.AbstractCountableValueRange
isEmpty
-
-
-
-
Method Detail
-
getSize
public long getSize()
Description copied from interface:CountableValueRange
Used by uniform random selection in a composite or nullable CountableValueRange.- Returns:
- the exact number of elements generated by this
CountableValueRange
, always>= 0
-
get
public T get(long index)
Description copied from interface:CountableValueRange
Used by uniform random selection in a composite or nullable CountableValueRange.- Parameters:
index
- always<
CountableValueRange.getSize()
- Returns:
- sometimes null (if
PlanningVariable.nullable()
is true)
-
contains
public boolean contains(T value)
- Parameters:
value
- sometimes null- Returns:
- true if the ValueRange contains that value
-
createOriginalIterator
public Iterator<T> createOriginalIterator()
Description copied from interface:CountableValueRange
Select the elements in original (natural) order.- Returns:
- never null
-
createRandomIterator
public Iterator<T> createRandomIterator(Random workingRandom)
Description copied from interface:ValueRange
Select in random order, but without shuffling the elements. Each element might be selected multiple times. Scales well because it does not require caching.- Parameters:
workingRandom
- never null, theRandom
to use when any random number is needed, so runs are reproducible.- Returns:
- never null
-
-