There are a few more efficient alternatives to arrays. Using a linked list is one option. You can add and remove items from a linked list without having to re-sort the whole thing. Another option is to use a hash table. You can add and remove elements from a hash table without having to reorganize the entire table If you choose, you can also utilize a binary search tree. A binary search tree can have items added and removed without having to re-sort the entire tree. A heap can be used in the same way. When using a heap, you can add and remove objects without having to re-sort the entire heap.