Tuple¶
-
public final class
Tuple
¶ An immutable tuple. All methods of this class throw a
NullPointerException
if a null object reference is passed in any parameter.
Constructors¶
Methods¶
-
public int
hashCode
()¶ Hash code of all elements
-
public void
insert
(Object[] array, int index)¶ Inserts the elements of this tuple into the specified array starting from the specified index.
-
public static Tuple
join
(Object... elements)¶ Constructs a new
Tuple
joining the specified elements.The elements in a Tuple can be numbers, strings, tuples or arrays.
Use this function to construct a tuple for accessing instances of AMPL entities indexed over 2 or more index sets at least one of which is two-dimensional.
For example, accessing the AMPL entity:
var x{{(1,2)}, {'a'}};
can be achieved either via:
Variable x = ampl.getVariable("x"); x.get(1, 2, "a");
or, using this function, as:
Variable x = ampl.getVariable("x"); Tuple t = new Tuple(1,2); x.get(Tuple.join(t, "a"));
The very same way, the elements of the tuple created by:
t = Tuple.join(new Object[] { 2, 3 }, 4, "b";);
will be equivalent to
t = new Tuple(2, 3, 4, "b").
or, by joining tuples:
Tuple A = new Tuple(2, 3); Tuple B = Tuple.join(A, A);
is equivalent to:
Tuple B = new Tuple(2, 3, 2, 3);
Note that to conform with the AMPL type system all basic Java numeric types are converted to double, as AMPL supports only one numeric type (see
Tuple.Tuple
for more information).
-
public int
size
()¶ Returns the number of elements in this tuple.
-
public Tuple
subtuple
(int from, int to)¶ Returns a tuple containing the specified range of elements from this tuple.
Parameters: - from –
- the initial index of the range to be copied, inclusive
- to –
- the final index of the range to be copied, exclusive. (This index may be equal to size.)
Throws: - ArrayIndexOutOfBoundsException –
- if
from < 0
orto > size()
- if
- IllegalArgumentException –
- if
from > to
- if
- from –