集合框架
往往在日常生活中会遇到某种数组需要动态改变长度
同时由于不同特定数据不能存入相同的容器里,数据的读写就会复杂麻烦
而且如果向上兼容的类可能无法调用子类特有的方法
比如:
public class Main {
public static void main(String[] args) {
SmallMouse smallMouse = new SmallMouse();
BigMouse bigMouse = new BigMouse();//分别创建大鼠小鼠实例
Mouse[] mice = new Mouse[]{smallMouse, bigMouse};//存入其父类的数组中
}
}
class Mouse{
void cry(){
System.out.println("q");
};
}
class SmallMouse extends Mouse{
@Override
void cry() {
System.out.println("w");
}
void SM() {
System.out.println("SM");
}
}
class BigMouse extends Mouse{
@Override
void cry() {
System.out.println("a");
}
void BM() {
System.out.println("BM");
}
}
集合框架的声明
Collection 是一个接口可以实现集合的功能,可以通过实现它的功能来达到存储数据的功能
下属有两个接口分别为 Set 和 List
而List下属有具体的类ArrayList、LinkedList
Collection collection = new ArrayList();
collection.add(Object);
集合的使用
ArrayList可以使用get和set来读取修改列表的元素
由于存储结构不同,两者的存取速度在不同情况下有区别不能一概而论
如果查询多的话,ArrayList会快一些
ArrayList可以使用Iterator迭代器来遍历元素
如果经常插入和修改使用LinkedList会更快
如果仅在集合最后添加元素,ArrayList会较快
ArrayList的查改速度较快(数据随机存放平均时间)
LinkedList的增删速度较快(数据随机存放平均时间)