Package net.hydromatic.morel.util
Class Ord<E>
- java.lang.Object
-
- net.hydromatic.morel.util.Ord<E>
-
- Type Parameters:
E- Element type
- All Implemented Interfaces:
java.util.Map.Entry<java.lang.Integer,E>
public class Ord<E> extends java.lang.Object implements java.util.Map.Entry<java.lang.Integer,E>Pair of an element and an ordinal.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceOrd.IntObjObjConsumer<K,V>Consumer that receives an ordinal, a key, and a value.private static classOrd.OrdArrayList<E>List ofOrdbacked by an array of elements.private static classOrd.OrdList<E>List ofOrdbacked by a list of elements.private static classOrd.OrdRandomAccessList<E>List ofOrdbacked by a random-access list of elements.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <E> voidforEach(java.lang.Iterable<E> iterable, java.util.function.ObjIntConsumer<E> consumer)Performs the given action for each element of theIterable.static <K,V>
voidforEach(java.util.Map<K,V> map, Ord.IntObjObjConsumer<K,V> consumer)Performs the given action for each entry of aMap.java.lang.IntegergetKey()EgetValue()static <E> Ord<E>of(int n, E e)Creates an Ord.static <E> java.lang.Iterable<Ord<E>>reverse(E... elements)Iterates over an array in reverse order.static <E> java.lang.Iterable<Ord<E>>reverse(java.lang.Iterable<? extends E> elements)Iterates over a list in reverse order.EsetValue(E value)static <E> java.util.List<Ord<E>>zip(E[] elements)Returns a numbered list based on an array.static <E> java.lang.Iterable<Ord<E>>zip(java.lang.Iterable<? extends E> iterable)Creates an iterable ofOrds over an iterable.static <E> java.util.Iterator<Ord<E>>zip(java.util.Iterator<? extends E> iterator)Creates an iterator ofOrds over an iterator.static <E> java.util.List<Ord<E>>zip(java.util.List<? extends E> elements)Returns a numbered list.
-
-
-
Field Detail
-
i
public final int i
-
e
public final E e
-
-
Constructor Detail
-
Ord
private Ord(int i, E e)Creates an Ord.
-
-
Method Detail
-
of
public static <E> Ord<E> of(int n, E e)
Creates an Ord.
-
zip
public static <E> java.lang.Iterable<Ord<E>> zip(java.lang.Iterable<? extends E> iterable)
Creates an iterable ofOrds over an iterable.
-
zip
public static <E> java.util.Iterator<Ord<E>> zip(java.util.Iterator<? extends E> iterator)
Creates an iterator ofOrds over an iterator.
-
zip
public static <E> java.util.List<Ord<E>> zip(E[] elements)
Returns a numbered list based on an array.
-
zip
public static <E> java.util.List<Ord<E>> zip(java.util.List<? extends E> elements)
Returns a numbered list.
-
forEach
public static <E> void forEach(java.lang.Iterable<E> iterable, java.util.function.ObjIntConsumer<E> consumer)Performs the given action for each element of theIterable.
-
forEach
public static <K,V> void forEach(java.util.Map<K,V> map, Ord.IntObjObjConsumer<K,V> consumer)Performs the given action for each entry of aMap.
-
reverse
public static <E> java.lang.Iterable<Ord<E>> reverse(E... elements)
Iterates over an array in reverse order.Given the array ["a", "b", "c"], returns (2, "c") then (1, "b") then (0, "a").
-
reverse
public static <E> java.lang.Iterable<Ord<E>> reverse(java.lang.Iterable<? extends E> elements)
Iterates over a list in reverse order.Given the list ["a", "b", "c"], returns (2, "c") then (1, "b") then (0, "a").
-
getKey
public java.lang.Integer getKey()
- Specified by:
getKeyin interfacejava.util.Map.Entry<java.lang.Integer,E>
-
getValue
public E getValue()
- Specified by:
getValuein interfacejava.util.Map.Entry<java.lang.Integer,E>
-
-