Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / mcr-test / src / instrumented / java15 / util / RandomAccess.java
diff --git a/JMCR-Stable/mcr-test/src/instrumented/java15/util/RandomAccess.java b/JMCR-Stable/mcr-test/src/instrumented/java15/util/RandomAccess.java
new file mode 100644 (file)
index 0000000..84ed999
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * @(#)RandomAccess.java       1.6 03/12/19
+ *
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ */
+
+package instrumented.java15.util;
+
+/**
+ * Marker interface used by <tt>List</tt> implementations to indicate that
+ * they support fast (generally constant time) random access.  The primary
+ * purpose of this interface is to allow generic algorithms to alter their
+ * behavior to provide good performance when applied to either random or
+ * sequential access lists.
+ *
+ * <p>The best algorithms for manipulating random access lists (such as
+ * <tt>ArrayList</tt>) can produce quadratic behavior when applied to
+ * sequential access lists (such as <tt>LinkedList</tt>).  Generic list
+ * algorithms are encouraged to check whether the given list is an
+ * <tt>instanceof</tt> this interface before applying an algorithm that would
+ * provide poor performance if it were applied to a sequential access list,
+ * and to alter their behavior if necessary to guarantee acceptable
+ * performance.
+ * 
+ * <p>It is recognized that the distinction between random and sequential
+ * access is often fuzzy.  For example, some <tt>List</tt> implementations
+ * provide asymptotically linear access times if they get huge, but constant
+ * access times in practice.  Such a <tt>List</tt> implementation
+ * should generally implement this interface.  As a rule of thumb, a
+ * <tt>List</tt> implementation should implement this interface if,
+ * for typical instances of the class, this loop:
+ * <pre>
+ *     for (int i=0, n=list.size(); i &lt; n; i++)
+ *         list.get(i);
+ * </pre>
+ * runs faster than this loop:
+ * <pre>
+ *     for (Iterator i=list.iterator(); i.hasNext(); )
+ *         i.next();
+ * </pre>
+ *
+ * <p>This interface is a member of the 
+ * <a href="{@docRoot}/../guide/collections/index.html">
+ * Java Collections Framework</a>.
+ *
+ */
+public interface RandomAccess {
+}