容器类和Array的区别、择取
-
容器类仅能持有对象引用(指向对象的指针),而不是将对象信息copy一份至数列某位置。
-
一旦将对象置入容器内,便损失了该对象的型别信息。
-
在各种Lists中,最好的做法是以ArrayList作为缺省选择。当插入、删除频繁时,使用LinkedList();
Vector总是比ArrayList慢,所以要尽量避免使用。 -
在各种Sets中,HashSet通常优于HashTree(插入、查找)。只有当需要产生一个经过排序的序列,才用TreeSet。
HashTree存在的唯一理由:能够维护其内元素的排序状态。 -
在各种Maps中
HashMap用于快速查找。 -
当元素个数固定,用Array,因为Array效率是最高的。
最常用的是ArrayList,HashSet,HashMap,Array。