根據應用的需要選擇合適的集合對性能是非常重要的。如果一個集合的元素數量是固定的,而且我們能夠提前知道固定的數量,那么就可以使用數組,而不是ArrayList。 每個集合都可以設置初始容量,如果我們提前能夠估算出它的初始容量,那么就可以避免重新計算它的hash值與擴容。 為了保證程序的類型安全、健壯性與可讀性,一般我們都需要使用泛型。泛型可以避免運行時的ClassCastException。同時如果使用不可變類作為map的鍵,那么可以避免為我們自己實現的類實現equals()與hashcode()方法。 編程的時候接口優於實現。 如果底層的集合為空,返回的集合要為長度為0的集合或者數組,不能為空。 總而言之一句話,如果頻繁用於查找,則用數組類型的集合,如果頻繁用於刪除,則使用鏈表類型的集合,下面是一張總的集合適用場合的圖片

