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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、集合和数组的区别?
答:集合是长度可变的容器,创建时不需要指定长度;集合只能存引用数据类型,不可以存基本数据类型,如果要
       存放基本数据类型,只能通过其包装类存放;集合通过size()方法获取长度       
       数组长度不可变,创建的时候必须给定数组的长度;数组可以存基本数据类型;数组通过length属性获取长度
       也可以存引用数据类型


2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是集合中的专用遍历方式,通过集合的iterator()方法得到迭代器。通过迭代器的hasNext()方法判断是否
      有下一个元素,Next()方法获取元素,使用迭代器遍历集合的时候,不能进行对集合做增删操作,否则会发生
      并发修改异常ConcurrentModificationException
      增强for是用来遍历集合和数组的简便方式。底层原理是迭代器,使用增强for循环遍历时不能进行对集合做增删操作
      定义格式:for(元素数据类型 变量名 : 数组/集合对象名) { ? ?循环体; }
      增强for和普通for循环的区别:增强for循环是没有索引值的,只需知道元素的数据类型及数组/集合变量名即可;
      普通for循环需要通过获取集合/数组的索引值遍历。


3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
答:List接口下有ArrayList和LinkedList实现类。ArrayList底层时数组,数组中有索引值,可以通过索引值直接获取对应
      的元素,ArrayList的特点是:查询快,增删慢
      LinkedList类底层是链表,链表中的结点由值和指向下一节点地址的指针组成的,可以通过修改指针指向的地址值进行
      增加结点和删除结点,LinkedList的特点是:增删快,查询慢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马