今天我们开始了集合的学习,请根据自己的理解回答下面问题:
1、集合和数组的区别?
答:集合不能存储基本数据类型,数组可以存储基本数据类型和引用数据类型。集合的长度是可以变动的
,而数组的长度是固定的,且需要在定义时给出。
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是集合通用的一个遍历访问集合元素的工具,其是一个接口。
增强for即是foreach循环,是对迭代器遍历的一种简化模式。foreach循环可以遍历数组和集合,
遍历集合时不能进行增删操作(底层就是迭代器)
for循环与foreach循环不同,其不能对遍历没有索引的类别的集合。
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
答:List接口下有linkedList和ArrayList两个实现子类集合,前者的底层是链表,后者的底层实现是数组。
链表的结构是以节点组成的,通过指针,来逐个链接,所以链表没有索引,方便头尾操作,因为是通过指针进行
访问,所以对其增删操作高效快速,但进行查询则较数组慢。
数组的结构是一块连续的内存块,地址连续,通过索引访问,每次对数组进行增删操作,都会产生一个新
的数组,占用性能资源,其查询快,增删慢。
|