A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天我们开始了集合的学习,请根据自己的理解回答下面问题:
1、集合和数组的区别?
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点

4 个回复

倒序浏览
1.集合和数组的区别?
  集合:长度可变,只能存储引用数据类型,可以对元素进行增删改查。
  数组:长度不可变,既能存储引用数据类型还可以存储基本数据类型,但无法对元素进行增删操作。

2.什么是迭代器,什么是增强for,增强for和普通for循环的区别?
  迭代器:集合的一种通用遍历方式。
  增强for:一种迭代器的封装方法,底层原理为迭代器。
  普通for只能遍历有索引值的集合和数组,而增强for为通用遍历。
  
3.List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点?
  ArratList:底层为数组结构实现,增删慢,查询快。
  LinkList:底层为链表结构实现,增删快,查询慢。
回复 使用道具 举报
1、        集合和数组的区别?
集合:长度可变,只能存储引用数据类型,可以对元素进行增删改操作,
数组:长度不可变,可以存储任意数据类型,可以对元素进行修改但进行增删操作。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:集合的一种通用遍历方式。
  增强for:一种迭代器的封装方法,底层原理为迭代器;
  普通for循环遍历时需考虑容器长度和索引,遍历时可以不用考虑容器长度和索引。

3、        List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
List接口下有ArrayList集合和LinkedList集合;
ArrayList底层是数组结构,其特点是增删慢,查询快;
LinkedList底层是链表结构,其特点是查询慢,增删快。
回复 使用道具 举报

今天我们开始了集合的学习,请根据自己的理解回答下面问题:

1、集合和数组的区别?
答:集合的存储长度是可变的
数组的存储长度不可改变

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是集合专用的遍历方式
增强for:底层是迭代器,是专门用来遍历数组和集合的高级遍历方式
普通for循环必须要用到索引,增强for无需索引也可以遍历,且他不能进行增删操作

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
答:list接口下有ArrayList、linkedList等集合
ArrayList底层数据结构是数组,特点是查询快,增删慢;
linkedList底层数据结构是链表,特点是查询慢,增删快。
回复 使用道具 举报
1、集合和数组的区别?
    数组是类型固定长度不可变的容器 可存储基本数据类型和引用数据类型
    集合是类型不固定(不指定泛型的情况),且长度可变,只能存储引用数据类型

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
    迭代器:是collection接口提供的遍历集合元素的方法,
    在迭代过程只能获取和输出(也可以删除)元素,如果对结合做其他线性操会先CurrentModification
    增强for:底层是迭代器,可以遍历集合和数组
    普通for:在遍历过程中可以对集合做线性修改的操作,不会出现异常,只能遍历有索引的集合

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
   List接口下又Vector  ArrayList  LinkedList
       Vector  ArrayList:底层都是数组结构,但是Vector  是线程同步的,增删慢查询快,内存是连续空间,在删除的时候需要进行销毁重建
               LinkedList:底层是双向链表,增删块查询慢,内存是一块不连续的空间,增删只需要迁移相邻两个元素
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马