Preserving Unique References in Java Lists

TR Number
Journal Title
Journal ISSN
Volume Title
Virginia Tech

The Java collection framework introduces aliasing when objects are added to and accessed from collections. This thesis describes a list component implemented in Java that preserves unique references of objects in the list, thereby avoiding undesired aliasing. We compared the running time of our list with three other lists from Java collections (Java collection framework, Google, and Functional Java) in five different applications. We found that the performance of our list was usually slightly slower than the performance of the Java list, but often much faster than the Google and Functional Java lists. We also compared the reasoning complexity of our list with Java's list by creating tracing tables for a method from a towers-of-Hanoi application and comparing the number of tokens in the table using our list with the number of tokens in the table using the Java list. We found that the number of tokens in the tracing table using the Java list was much higher than the number of tokens in the table using our list. We argue that this result will occur in any table for applications that use mutable list objects.

alias avoidance, software engineering, unique references