کلاس ArrayDeque (تلفظ صحیح آن ArrayDeck است)، علاوه بر اینکه یک Collection است و بعنوان یک آرایه با سایز قابل تغییر شناخته می شود، اینترفیس Deque را نیز پیاده سازی کرده است و این سبب شده است که یک آرایه دو طرفه باشد یعنی هم می توان از ابتدا و هم از انتهای آن عملیات add و remove را انجام داد.
از ArrayDeque هم می توان بعنوان استک و هم صف استفاده کرد. خصوصیات مهم ArrayDeque عبارتند از:
-
thread-safe نیست بنابراین از synchronized Stack و ... سریعتر است.
-
از LinkedList سریعتر است.
-
اکثر عملیات های روی آن پیچیدگی خطی دارند.
-
عنصر null قبول نمی کند.
-
امکان تولید Iterator معکوس دارد (با متد descendingIterator)