Why typical Array List implementations aren't double-ended?
Why aren't ArrayList s generally implemented to be double-ended, which would support fast amortized insertion in the front as well as the back? Is there ever a disadvantage to using the latter over the former? (I'm not talking just about Java -- I haven't seen double-ended array lists being the default in any other language, but Java was just a good example here.) *Edit: I originally called them "array deques" but that was a misunderstanding on my part; I wasn't talking about queues, but double-ended array lists. An ArrayList is simple; entries start at 0, and you can add stuff at the end