主要是List和Set接口的实现类
List:有顺序,可重复,有索引值
- ArrayList :有顺序,可以存储重复的元素,有索引值,是一个非同步的(多线程)。底层是使用数组来进行实现的,所以其增删的效率比较低。其内部的大部分方法是从List继承而来。
- LinkedList: 有顺序,可以存储重复的元素,有索引值,是一个非同步的(多线程)。底层是使用链表来实现的,其增删的效率比较高,因为使用链表实现,LinkedList除了有Collection的所有方法之外,它还有一些自己特有的方法;
- Vector:有顺序,可以存储重复的元素,有索引,但是是一个同步的(单线程),现在被ArrayList取代了
LinkedList特有的一些方法:
push(Object obj) //向集合中的表头添加一个元素
addFirst(Object obj) //向集合的表头添加一个元素,等同于push
addLast(Object obj) //向集合中的表尾添加一个元素
pop() //弹出集合中的最后一个元素
removeFirst() //移除集合中第一个元素
removeLast() //移除集合中的最后一个元素,相当于pop
getFirst()//获取集合中的第一个元素
getLast()//获取集合中的最后一个元素
多态的使用:·
使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。