Java中集合类是放在java.util中,是一个用来存放对象的容器。
1、只能存放对象,不能存放int等类型,存的是对应的是Integer等对象
2、存的是对象的引用,对象本身是放在堆内存中
3、可以存放不同类型的对象(因为实现的时候使用了泛型),不建议使用。
常用的三种集合接口:
List:继承自Collection。可以存在相同的对象,有序的。具体实现类有ArrayList,LinkedList,Vector等(已经被废弃,很少使用)
Set:继承自Collection。不能存在相同的对象,无序的,就是数学意义上的集合。具体实现类有HashSet,LinkedHashSet,TreeSet等。
Map:以键值对的形式存放对象。key-value。一般是key为String类型,value为Object的类型。具体实现类有HashMap,LinkedHashMap,TreeMap等。
ArrayList:实现自List接口。底层是以数组的形式实现,可以按照索引取出对应位置的元素,允许元素为null。不是线程安全的。查找速度快,插入、删除慢。
LinkedList:实现在List接口。底层是以双向链表的形式实现。所以插入,删除快,但是查找慢。不是线程安全的。