1、集合和数组的区别?
①数组的长度是固定的。集合的长度是可变的。
②数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不
一致。在开发中一般当对象多的时候,使用集合进行存储
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器 : 在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口
java.util.Iterator 。 Iterator 接口也是Java集合中的一员,但它与 Collection 、 Map 接口有所不同,
Collection 接口与 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访问(即遍历) Collection 中的元
素,因此 Iterator 对象也被称为迭代器。
增强for : 增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原
理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。
区别:
①增强for循环和iterator遍历的效果是一样的,也就说:增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件)。但是增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容,不能获取下标等。
②ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。
③而对于 LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用增强for循环,也就是iterator。
3、什么是泛型?使用泛型有什么好处?
泛型:可以在类或方法中预支地使用未知的类型。
①将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
②避免了类型强转的麻烦。
|