ไม่รู้มีใครเคยคิดหรือป่าว แต่คำถามนี้เหมือนมันอยู่ในหัวตั้งแต่เริ่มทำงานเลยหละ (หรืออาจจะตั้งแต่รู้จัก Collection API ของจาวาเลยมั้ง) หลายคนอาจจะใช้ Collection แทน Array ไปเลยเพราะมันสะดวกดี สามารถเพิ่มลดได้ง่าย (โดยบางครั้งอาจจะไม่รู้ว่า Collection แต่ละแบบมีลักษณะอย่างไร แต่นั่นไว้เป็นอีกหัวข้อนึงละกัน) และก็สามารถใช้แทน Array ได้แทบทั้งหมด หลายคนอาจจะสงสัยว่า อ้าวแล้วอย่างนี้จะกลับไปใช้ Array ทำไม
จริงๆ Array มันก็มีคุณสมบัติของมันที่ทำให้ชอบหลายๆ อย่างนะ เช่น ประกาศได้ง่าย สามารถกำหนดค่าเริ่มต้นให้มันได้ โดยไม่ต้องคอยไล่เพิ่มทีละตัว และก็มีขอบเขตที่แน่นอน ไม่สามารถเพิ่มได้! และข้อดีอย่างสุดท้ายนี่แหละ ที่เวลาเขียนโปรแกรมแล้วเอามาตัดสินว่าเมื่อไหร่จะใช้ Array หรือ Collection
เวลาเลือกก็ดูจากเมธอดที่เขียนว่าจำเป็นต้องคืนค่าให้เปลี่ยนแปลงชุดข้อมูลนั้นได้หรือป่าว ถ้าคืนค่าไปแล้ว ข้อมูลจะถูกเอาไปเพิ่มหรือลดอีกภายหลังก็จะให้กลับไปเป็น Collection แต่ถ้าไม่ต้องก็ออกไปเป็น Array ซะ เหมือนกันตอนเอาเข้า ถ้าเมธอดนั้น มีไว้เพื่อเพิ่มหรือลดข้อมูล ก็รับมาเป็น Collection ซะ แต่ถ้าไม่จำเป็นก็ขอมาเป็น Array ดีกว่า แต่วิธีตัดสินนี้ไม่สามารถเอาไปใช้กับภาษาอย่าง Javascript หรือ Actionscript ได้ เพราะภาษาเหล่านั้น Array มันเป็น Collection อยู่แล้ว
ยังมีเรื่อง Collection ในภาษาจาวาอีก ที่มีหลายแบบ แต่ก่อนคิดว่าอาจจำมันได้ไม่หมด แต่พอใช้งานมันไปซักระยะ จะเห็นว่าแต่ละตัวมีความหมายและควรเอาไปใช้ยังไง แต่ไว้ว่างๆ (หัวว่างๆ) อีกรอบค่อยมาเขียนต่อละกัน