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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2019-7-25 18:54  /  1441 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、集合和数组的区别?
数组:
1、数组是固定长度的,在创建的时候就指定长度,运行期间不可改变
2、数组可以查看元素、修改元素内容,但是数组不可以增删元素
3、数组可以存储基本数据类型、引用数据类型
4、数组的访问方式
赋值:数组名[索引值]= 值
取值: 数据类型 变量 =数组名[索引值]

集合:
1、集合的长度是可变的,在创建时不指定集合长度,运行期间可以随着元素的添加而改变
底层就是数组,集合底层会自动帮我们完成数组的扩容、赋值等操作
2、集合可以增删改查元素
3、集合只能存储引用数据类型,当集合想存储基本数据类型时,需要存储该基本类型对应的包装类类型
4、集合的访问方式:
添加元素
add(Object o); 将元素添加到集合的末尾
add(index ,Object o); 将元素添加到指定的位置
删除元素
boolean remove(Object o); 删除该元素第一次出现的位置
E remove(int index); 删除指定位置上的元素,返回被删除的元素
修改元素
E set(int index,Object o) 将指定位置上的元素,修改为参数列表中的元素,返回的是修改前的元素
查询元素
E get(int index) 根据指定位置的索引值,获取到对应位置上的元素
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:是集合遍历的专有方式,通过集合的iterator()方法得到的。
增强for: 是迭代器的简化形式,内部原理就是一个迭代器,可以对集合和数组的遍历。
增强for和普通for循环的区别:
      1.for循环有索引值,增强for循环不需要索引值。
      2.for循环可以可以利用索引值进行增删修改,增强for循环不能。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
List接口下主要有ArrayList集合和LinkedList集合
ArrayList集合底层是数组结构,特点是:增删慢,查询快
LinkedList集合底层是链表结构,特点是:按照地址值去记录元素的存储顺序,由于地址值不连续,所以查询慢,但增删速度快
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马