java常见集合
集合与数组区别
1-从长度来讲:
数组:需要固定长度。
集合:长度可以改变,可以根据保存的数据进行扩容。
2-从存储内容上:
数组:可以存储基本类型数据,还可以存储引用类型的数据(比如:String 和对象)。
集合:只能存储引用类型的数据(基本数据类型的封装类),也就是说集合只能存储类的对象。
3-从存储类型上:
数组:只能存储相同类型的数据。
集合:可以存储不同类型的数据,集合中可以存储任意类型的引用数据类型。
集合层次结构
– Collection 接口
- List:有序的(存入和取出顺序一致),可重复的,允许有多个null
– ArrayList//Vector(不经常使用,已过时,被ArrayList取代)
-
-
- Vector是同步的,线程安全的,效率较低;ArrayList是不同步的,线程不安全,但效率高。
- Vector缺省情况下,自动增长为原来的一倍空间;ArrayList缺省情况下,自动增长为原来的一半。
-
– LinkedList
- Set:无序(存入和取出顺序不一致),不重复的,只允许有一个null
– HashSet
– TreeSet正在
– Map接口
- HashMap /Hashtable
- Properties
- TreeMap
- 对于有层级结构的类或接口的关系,查看API时,最好从子类开始查找,如果子类没有,则依次向父类查找。