Class ObjArray

  • All Implemented Interfaces:
    java.io.Serializable

    public class ObjArray
    extends java.lang.Object
    implements java.io.Serializable
    Implementation of resizable array with focus on minimizing memory usage by storing few initial array elements in object fields. Can also be used as a stack.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Object[] data  
      private java.lang.Object f0  
      private java.lang.Object f1  
      private java.lang.Object f2  
      private java.lang.Object f3  
      private java.lang.Object f4  
      private static int FIELDS_STORE_SIZE  
      private boolean sealed  
      private static long serialVersionUID  
      private int size  
    • Constructor Summary

      Constructors 
      Constructor Description
      ObjArray()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(int index, java.lang.Object value)  
      void add​(java.lang.Object value)  
      void clear()  
      private void ensureCapacity​(int minimalCapacity)  
      java.lang.Object get​(int index)  
      private java.lang.Object getImpl​(int index)  
      int indexOf​(java.lang.Object obj)  
      boolean isEmpty()  
      boolean isSealed()  
      int lastIndexOf​(java.lang.Object obj)  
      private static java.lang.RuntimeException onEmptyStackTopRead()  
      private static java.lang.RuntimeException onInvalidIndex​(int index, int upperBound)  
      private static java.lang.RuntimeException onSeledMutation()  
      java.lang.Object peek()  
      java.lang.Object pop()  
      void push​(java.lang.Object value)  
      private void readObject​(java.io.ObjectInputStream is)  
      void remove​(int index)  
      void seal()  
      void set​(int index, java.lang.Object value)  
      private void setImpl​(int index, java.lang.Object value)  
      void setSize​(int newSize)  
      int size()  
      java.lang.Object[] toArray()  
      void toArray​(java.lang.Object[] array)  
      void toArray​(java.lang.Object[] array, int offset)  
      private void writeObject​(java.io.ObjectOutputStream os)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • size

        private int size
      • sealed

        private boolean sealed
      • f0

        private transient java.lang.Object f0
      • f1

        private transient java.lang.Object f1
      • f2

        private transient java.lang.Object f2
      • f3

        private transient java.lang.Object f3
      • f4

        private transient java.lang.Object f4
      • data

        private transient java.lang.Object[] data
    • Constructor Detail

      • ObjArray

        public ObjArray()
    • Method Detail

      • isSealed

        public final boolean isSealed()
      • seal

        public final void seal()
      • isEmpty

        public final boolean isEmpty()
      • size

        public final int size()
      • setSize

        public final void setSize​(int newSize)
      • get

        public final java.lang.Object get​(int index)
      • set

        public final void set​(int index,
                              java.lang.Object value)
      • getImpl

        private java.lang.Object getImpl​(int index)
      • setImpl

        private void setImpl​(int index,
                             java.lang.Object value)
      • indexOf

        public int indexOf​(java.lang.Object obj)
      • lastIndexOf

        public int lastIndexOf​(java.lang.Object obj)
      • peek

        public final java.lang.Object peek()
      • pop

        public final java.lang.Object pop()
      • push

        public final void push​(java.lang.Object value)
      • add

        public final void add​(java.lang.Object value)
      • add

        public final void add​(int index,
                              java.lang.Object value)
      • remove

        public final void remove​(int index)
      • clear

        public final void clear()
      • toArray

        public final java.lang.Object[] toArray()
      • toArray

        public final void toArray​(java.lang.Object[] array)
      • toArray

        public final void toArray​(java.lang.Object[] array,
                                  int offset)
      • ensureCapacity

        private void ensureCapacity​(int minimalCapacity)
      • onInvalidIndex

        private static java.lang.RuntimeException onInvalidIndex​(int index,
                                                                 int upperBound)
      • onEmptyStackTopRead

        private static java.lang.RuntimeException onEmptyStackTopRead()
      • onSeledMutation

        private static java.lang.RuntimeException onSeledMutation()
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream os)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readObject

        private void readObject​(java.io.ObjectInputStream is)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException