@Beta @GwtCompatible @Immutable public final class ImmutableIntArray extends Object implements Serializable
int values, with an API resembling List.
 Advantages compared to int[]:
 
equals(java.lang.Object), hashCode(), and toString() behavior you expect.
   get and length, so you don't have to
       hunt through classes like Arrays and Ints for them.
   subArray(int, int) view, so methods that accept this type don't need to
       add overloads that accept start and end indexes.
   foo.getBarInts().stream()....
   asList() (though at the cost of
       allocating garbage).
 Disadvantages compared to int[]:
 
int[] (though the most common
       utilities do have replacements here).
   com.google.common / Guava.
 Advantages compared to ImmutableList<Integer>:
 
IntStream features (like IntStream.sum()) using stream()
       instead of the awkward stream().mapToInt(v -> v).
 Disadvantages compared to ImmutableList<Integer>:
 
Iterable, Collection, or
       List (though the most common utilities do have replacements here, and there is a
       lazy asList() view).
 | Modifier and Type | Class and Description | 
|---|---|
| static class  | ImmutableIntArray.BuilderA builder for  ImmutableIntArrayinstances; obtained usingbuilder(int). | 
| Modifier and Type | Method and Description | 
|---|---|
| List<Integer> | asList()Returns an immutable view of this array's values as a  List; note thatintvalues are boxed intoIntegerinstances on demand, which can be very expensive. | 
| static ImmutableIntArray.Builder | builder()Returns a new, empty builder for  ImmutableIntArrayinstances, with a default initial
 capacity. | 
| static ImmutableIntArray.Builder | builder(int initialCapacity)Returns a new, empty builder for  ImmutableIntArrayinstances, sized to hold up toinitialCapacityvalues without resizing. | 
| boolean | contains(int target)Returns  trueiftargetis present at any index in this array. | 
| static ImmutableIntArray | copyOf(Collection<Integer> values)Returns an immutable array containing the given values, in order. | 
| static ImmutableIntArray | copyOf(int[] values)Returns an immutable array containing the given values, in order. | 
| static ImmutableIntArray | copyOf(IntStream stream)Returns an immutable array containing all the values from  stream, in order. | 
| static ImmutableIntArray | copyOf(Iterable<Integer> values)Returns an immutable array containing the given values, in order. | 
| boolean | equals(@Nullable Object object)Returns  trueifobjectis anImmutableIntArraycontaining the same
 values as this one, in the same order. | 
| void | forEach(IntConsumer consumer)Invokes  consumerfor each value contained in this array, in order. | 
| int | get(int index)Returns the  intvalue present at the given index. | 
| int | hashCode()Returns an unspecified hash code for the contents of this immutable array. | 
| int | indexOf(int target) | 
| boolean | isEmpty()Returns  trueif there are no values in this array (length()is zero). | 
| int | lastIndexOf(int target) | 
| int | length()Returns the number of values in this array. | 
| static ImmutableIntArray | of()Returns the empty array. | 
| static ImmutableIntArray | of(int e0)Returns an immutable array containing a single value. | 
| static ImmutableIntArray | of(int first,
  int... rest)Returns an immutable array containing the given values, in order. | 
| static ImmutableIntArray | of(int e0,
  int e1)Returns an immutable array containing the given values, in order. | 
| static ImmutableIntArray | of(int e0,
  int e1,
  int e2)Returns an immutable array containing the given values, in order. | 
| static ImmutableIntArray | of(int e0,
  int e1,
  int e2,
  int e3)Returns an immutable array containing the given values, in order. | 
| static ImmutableIntArray | of(int e0,
  int e1,
  int e2,
  int e3,
  int e4)Returns an immutable array containing the given values, in order. | 
| static ImmutableIntArray | of(int e0,
  int e1,
  int e2,
  int e3,
  int e4,
  int e5)Returns an immutable array containing the given values, in order. | 
| IntStream | stream()Returns a stream over the values in this array, in order. | 
| ImmutableIntArray | subArray(int startIndex,
        int endIndex)Returns a new immutable array containing the values in the specified range. | 
| int[] | toArray()Returns a new, mutable copy of this array's values, as a primitive  int[]. | 
| String | toString()Returns a string representation of this array in the same form as  Arrays.toString(int[]), for example"[1, 2, 3]". | 
| ImmutableIntArray | trimmed()Returns an immutable array containing the same values as  thisarray. | 
public static ImmutableIntArray of()
public static ImmutableIntArray of(int e0)
public static ImmutableIntArray of(int e0, int e1)
public static ImmutableIntArray of(int e0, int e1, int e2)
public static ImmutableIntArray of(int e0, int e1, int e2, int e3)
public static ImmutableIntArray of(int e0, int e1, int e2, int e3, int e4)
public static ImmutableIntArray of(int e0, int e1, int e2, int e3, int e4, int e5)
public static ImmutableIntArray of(int first, int... rest)
The array rest must not be longer than Integer.MAX_VALUE - 1.
public static ImmutableIntArray copyOf(int[] values)
public static ImmutableIntArray copyOf(Collection<Integer> values)
public static ImmutableIntArray copyOf(Iterable<Integer> values)
Performance note: this method delegates to copyOf(Collection) if values is a Collection. Otherwise it creates a builder(int) and uses ImmutableIntArray.Builder.addAll(Iterable), with all the performance implications associated with that.
public static ImmutableIntArray copyOf(IntStream stream)
stream, in order.public static ImmutableIntArray.Builder builder(int initialCapacity)
ImmutableIntArray instances, sized to hold up to
 initialCapacity values without resizing. The returned builder is not thread-safe.
 Performance note: When feasible, initialCapacity should be the exact number
 of values that will be added, if that knowledge is readily available. It is better to guess a
 value slightly too high than slightly too low. If the value is not exact, the ImmutableIntArray that is built will very likely occupy more memory than strictly necessary;
 to trim memory usage, build using builder.build().trimmed().
public static ImmutableIntArray.Builder builder()
ImmutableIntArray instances, with a default initial
 capacity. The returned builder is not thread-safe.
 Performance note: The ImmutableIntArray that is built will very likely occupy
 more memory than necessary; to trim memory usage, build using builder.build().trimmed().
public int length()
public boolean isEmpty()
true if there are no values in this array (length() is zero).public int get(int index)
int value present at the given index.IndexOutOfBoundsException - if index is negative, or greater than or equal to
     length()public int indexOf(int target)
get(int) returns target, or -1 if no
 such index exists. Equivalent to asList().indexOf(target).public int lastIndexOf(int target)
get(int) returns target, or -1 if no
 such index exists. Equivalent to asList().lastIndexOf(target).public boolean contains(int target)
true if target is present at any index in this array. Equivalent to
 asList().contains(target).public void forEach(IntConsumer consumer)
consumer for each value contained in this array, in order.public int[] toArray()
int[].public ImmutableIntArray subArray(int startIndex, int endIndex)
Performance note: The returned array has the same full memory footprint as this one
 does (no actual copying is performed). To reduce memory usage, use subArray(start,
 end).trimmed().
public List<Integer> asList()
List; note that int values are boxed into Integer instances on demand, which can be very expensive.
 The returned list should be used once and discarded. For any usages beyond that, pass the
 returned list to ImmutableList.copyOf and use that list instead.public boolean equals(@Nullable Object object)
true if object is an ImmutableIntArray containing the same
 values as this one, in the same order.equals in class Objectobject - the reference object with which to compare.true if this object is the same as the obj
          argument; false otherwise.Object.hashCode(), 
HashMappublic int hashCode()
hashCode in class ObjectObject.equals(java.lang.Object), 
System.identityHashCode(java.lang.Object)public String toString()
Arrays.toString(int[]), for example "[1, 2, 3]".public ImmutableIntArray trimmed()
this array. This is logically
 a no-op, and in some circumstances this itself is returned. However, if this instance
 is a subArray(int, int) view of a larger array, this method will copy only the appropriate range
 of values, resulting in an equivalent array with a smaller memory footprint.Copyright © 2010–2019. All rights reserved.