One of the common questions I hear from Java newcomers is - where is a FIFO list in Java? واحدة من المسائل المشتركة اسمع من الوافدين الجدد هو جافا -- اين هو يخرج اولا في قائمة جافا؟

Java does have a FIFO list capability built-in with LinkedList and ArrayList, but they are not well advertized. جافا لديها القدرة يخرج أولا قائمة مدمج مع linkedlist وarraylist ، ولكنها ليست بالاضافة الى الاعلان.

A FIFO interface should at least have: وينبغي ان يخرج أولا واجهة احد على الاقل :

 public interface FIFO {     /** Add an object to the end of the FIFO queue */     boolean add(Object o);      /** Remove an object from the front of the FIFO queue */     Object remove();      /** Return the number of elements in the FIFO queue */     int size(); } واجهة العامة (يخرج اولا / اضافة ** الجسم الى نهاية الصف من يخرج أولا * / اضافة البوليه (وجوه س) ؛ / ** ازالة الجسم من الجبهة من يخرج أولا * الصف / إزالة وجوه () ؛ / ** عودة عدد من العناصر في الصف * يخرج اولا / حجم دولي () ؛) 

A FIFOList class implementing the above would simply be: أ fifolist الدرجة تنفيذ ما سبق ذكره هو ببساطة :

 public class FIFOList extends LinkedList implements FIFO {     public Object remove() {         return remove(0);     } } وتمتد الطبقة العامة fifolist تنفذ linkedlist (يخرج اولا ازالة العامة وجوه () (عودة إزالة (0) ؛)) 

I prefer this setup instead of using a LinkedList.remove(0) directly. انني افضل بدلا من هذا الاعداد باستخدام linkedlist.remove (0) مباشرة. It looks cleaner. يبدو الانظف.

BTW: You can also extend an ArrayList instead of LinkedList to achieve the same functionality. راجع للشغل : يمكنك ايضا ان اوجه arraylist بدلا من linkedlist لتحقيق نفس الوظيفة. LinkedList should in theory provide better performance. Linkedlist ينبغي من الناحية النظريه تقديم اداء افضل.