Class IntsRef

  • All Implemented Interfaces:
    java.lang.Cloneable, java.lang.Comparable<IntsRef>

    public final class IntsRef
    extends java.lang.Object
    implements java.lang.Comparable<IntsRef>, java.lang.Cloneable
    Represents int[], as a slice (offset + length) into an existing int[]. The ints member should never be null; use EMPTY_INTS if necessary.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int[] EMPTY_INTS
      An empty integer array for convenience
      int[] ints
      The contents of the IntsRef.
      int length
      Length of used ints.
      int offset
      Offset of first valid integer.
    • Constructor Summary

      Constructors 
      Constructor Description
      IntsRef()
      Create a IntsRef with EMPTY_INTS
      IntsRef​(int capacity)
      Create a IntsRef pointing to a new array of size capacity.
      IntsRef​(int[] ints, int offset, int length)
      This instance will directly reference ints w/o making a copy.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      IntsRef clone()
      Returns a shallow clone of this instance (the underlying ints are not copied and will be shared by both the returned object and this object.
      int compareTo​(IntsRef other)
      Signed int order comparison
      void copyInts​(IntsRef other)  
      static IntsRef deepCopyOf​(IntsRef other)
      Creates a new IntsRef that points to a copy of the ints from other
      boolean equals​(java.lang.Object other)  
      void grow​(int newLength)
      Used to grow the reference array.
      int hashCode()  
      boolean intsEquals​(IntsRef other)  
      boolean isValid()
      Performs internal consistency checks.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • EMPTY_INTS

        public static final int[] EMPTY_INTS
        An empty integer array for convenience
      • ints

        public int[] ints
        The contents of the IntsRef. Should never be null.
      • offset

        public int offset
        Offset of first valid integer.
      • length

        public int length
        Length of used ints.
    • Constructor Detail

      • IntsRef

        public IntsRef()
        Create a IntsRef with EMPTY_INTS
      • IntsRef

        public IntsRef​(int capacity)
        Create a IntsRef pointing to a new array of size capacity. Offset and length will both be zero.
      • IntsRef

        public IntsRef​(int[] ints,
                       int offset,
                       int length)
        This instance will directly reference ints w/o making a copy. ints should not be null.
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • intsEquals

        public boolean intsEquals​(IntsRef other)
      • compareTo

        public int compareTo​(IntsRef other)
        Signed int order comparison
        Specified by:
        compareTo in interface java.lang.Comparable<IntsRef>
      • copyInts

        public void copyInts​(IntsRef other)
      • grow

        public void grow​(int newLength)
        Used to grow the reference array. In general this should not be used as it does not take the offset into account.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • deepCopyOf

        public static IntsRef deepCopyOf​(IntsRef other)
        Creates a new IntsRef that points to a copy of the ints from other

        The returned IntsRef will have a length of other.length and an offset of zero.

      • isValid

        public boolean isValid()
        Performs internal consistency checks. Always returns true (or throws IllegalStateException)