Java 在集合中如何选择

容器类和Array的区别、择取

  • 容器类仅能持有对象引用(指向对象的指针),而不是将对象信息copy一份至数列某位置。

  • 一旦将对象置入容器内,便损失了该对象的型别信息。

  • 在各种Lists中,最好的做法是以ArrayList作为缺省选择。当插入、删除频繁时,使用LinkedList();
    Vector总是比ArrayList慢,所以要尽量避免使用。

  • 在各种Sets中,HashSet通常优于HashTree(插入、查找)。只有当需要产生一个经过排序的序列,才用TreeSet。
    HashTree存在的唯一理由:能够维护其内元素的排序状态。

  • 在各种Maps中
    HashMap用于快速查找。

  • 当元素个数固定,用Array,因为Array效率是最高的。

最常用的是ArrayList,HashSet,HashMap,Array。