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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

40 个回复

倒序浏览
1、集合和数组的区别?
答:数组是一种用于存储多个相同类型数据的存储模型。集合是一种存储空间可变的存储模型。
   1.集合大小不固定,存储空间可变。数组是大小固定的,一旦创建无法扩容。
   2.集合提供了更多的成员方法,可以对数据进行操作。
   3.集合存放的类型只有一种引用数据类型,数组的存放的类型可以是基本数据类型,也可以是引用数据类型。
   4.创建集合时,如果泛型不确定,可以使用默认类型Object,数组在定义的时候一定要声明自己的类型。
   5.数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查相对于集合会快。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是定义访问和遍历元素的接口,集合专用的遍历方式。
       增强for循环是迭代器的简化形式,内部原理就是一个迭代器,可以对集合和数组的遍历。
区别:   
      1.for循环有索引值,增强for循环不需要索引值。
      2.for循环可以可以利用索引值进行增删修改,增强for循环不能。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点?
答:List接口下的集合主要有:ArrayList、LinkedList。
    ArrayList集合的底层是数组结构,特点是查询快(索引值连续),增删慢(需要创建数组)。
    LinkedList集合的底层是链表结构,特点是查询慢(元素的具体地址值不确定,需要从头开始查询),增删快(只需要改变地址值得指向,无需创建数组)。

点评

666  发表于 2019-6-22 21:56
回复 使用道具 举报 3 0
1、集合和数组的区别?
答:1.数组声明了它容纳的元素的类型,而集合不声明。
       2.数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。
       3.数组的存放的类型只能是一种(基本类型/引用类型),集合存放的类型可以不是一种(不加泛型时添加的类型是Object)。
       4.数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查都是最快的。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:Iterator(迭代器)接口提供了很多对集合元素进行迭代的方法。每一个集合类都包括了可以返回迭代器实例的迭代方法。
      增强for循环内部是使用的Iterator来遍历的,只能遍历数组和实现了Iterable接口的集合。
      增强for和普通for循环的区别:
      普通for循环的优点是变量可控,操作起来方便直观,缺点是较为繁琐。
      增强for循环优点是写法简便,无需获得数组、集合长度,也无需根据索引来访问元素,缺点是不能在循环里动态的删除元素和获取元素下标。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
答:List接口下的集合有:ArrayList、LinkedList。
       ArrayList集合的底层是数组结构,特点是查询快(因为索引值连续),增删慢(因为需要创建数组)。
       LinkedList集合的底层是链表结构,特点是查询慢(因为元素的具体地址值不确定,需要从头开始查询),增删快(因
       为只需要改变地址值得指向就可实现增删)。
回复 使用道具 举报
1、集合和数组的区别?
答:数组是一种用于存储多个相同类型数据的存储模型。集合是一种存储空间可变的存储模型。
区别:
   a.集合大小不固定,存储空间可变。数组是大小固定的,一旦创建无法扩容。
   b.集合提供了更多的成员方法,可以对数据进行操作。
   c.集合存放的类型只有一种引用数据类型,数组的存放的类型可以是基本数据类型,也可以是引用数据类型。
   d.创建集合时,如果泛型不确定,可以使用默认类型Object,数组在定义的时候一定要声明自己的类型。
   e.数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查相对于集合会快。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是定义访问和遍历元素的接口,集合专用的遍历方式。
       增强for循环是迭代器的简化形式,内部原理就是一个迭代器,可以对集合和数组的遍历。
区别:   
      a.for循环有索引值,增强for循环不需要索引值。
      b.for循环可以利用索引值进行增删修改,增强for循环不能。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点?
答:List接口下的集合主要有:ArrayList、LinkedList。
    ArrayList集合的底层是数组结构,特点是查询快(索引值连续),增删慢(需要创建数组)。
    LinkedList集合的底层是链表结构,特点是查询慢(元素的具体地址值不确定,需要从头开始查询),增删快(只需要改变地址值得指向,无需创建数组)。
回复 使用道具 举报
今天我们开始了集合的学习,请根据自己的理解回答下面问题:

1、集合和数组的区别?
集合:(1)存储空间可变,存储内容可变的存储模型,
          (2)集合长度可变,创建时不需要指定长度
          (3)集合的长度获取是通过方法进行访问,方法后面有带( )
          (4)集合只能存储引用数据类型
数组:(1)存储空间固定,存储内容可变的存储模型
          (2)数组长度不可变,创建时指定长度
          (3)数组的长度是通过属性进行访问,方法后面有带( ),属性则没有
          (4)数组可以存储引用数据类型,也可以存储基本数据类型


2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:集合专用的遍历方式;
增强for:是普通for的升级,内部原理是一个迭代器;可以对集合进行遍历,简化数组
普通for:带有索引值的遍历方式;


3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
List接口下有很多集合,最常用的两个集合是ArrayList和LinkedList等等,
ArrayList:底层的数据结构是数组;
特点:查询快(索引值是连续的,只要查询索引值就可以获得该数组的元素),
          增删慢(每次增删都会生成新的数组)
LinkedList:底层的数据结构是链表;
特点:查询慢(索引值是随机的,查询时需要从第一个元素开始查询,直至查询到该元素),
          增删快(每次增删的时候只要将元素的地址值进行拼接就可以,不会生成新的链表)
回复 使用道具 举报
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的特点是:增删快,查询慢
回复 使用道具 举报
本帖最后由 朱铭恺 于 2019-6-20 19:14 编辑

1、集合和数组的区别?

- 集合为长度可变的容器;数组运作中长度不可变
- 集合长度调用方法;数组长度调用属性
- 集合只能存储引用数据类型;数组可存储基本数据类型和引用数据类型
- 集合元素不一定可重复且不一定有序,要看具体类;数组元素可重复且有序


2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?

迭代器:集合的专属遍历方式,需通过集合的iterator()方法得到,所以是依托于集合存在的
增强for和普通for循环的区别:
- 增强for可理解为普通for循环的改进版,更加简便高效;
- 增强for底层调用迭代器遍历,不可增删元素,否则会出现并发异常;普通for则可以增删元素
- 增强for循环不可遍历字符串,普通for循环则可以。
-增强for中无法对索引进行直接操作,普通for则可以



3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点

List接口下有ArrayList和LinkedList,
ArrayList底层为数组结构,特点:查询快、增删慢
LinkedList底层为链表结构,特点:查询慢,增删快
回复 使用道具 举报
1.数组可用于存储基本数据类型和引用数据类型,集合只能存储引用数据类型
  数组长度不可变,集合长度可变

2.迭代器是collection接口的一个方法,用于遍历集合
增强for是迭代器的精简版,底层是迭代器实现,用于集合遍历
增强for和普通for循环的区别:
a.增强for底层是迭代器实现,在循环内不能改变集合长度,否则会抛并发修改异常,普通for循环可以
b.for循环可以使用索引,增强for不行

3.List下有:ArrayList、LinkedList
ArrayList:底层数组实现,查询快,增删慢
LinkedList:底层链表实现,查询慢,增删快
回复 使用道具 举报

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

1、集合和数组的区别?
        答:集合长度可变,数组长度不可变。集合储存引用数据类型,数组储存基本数据类型(和字符串)。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
        答:迭代器:Iterator的实现类对象,通过集合的iterator()方法得到迭代器,迭代器可以调用Iterator接口的hasNext方法和next方法来遍历集合。增强for底层是迭代器,是迭代器遍历集合的简便写法,不需要也没有索引,遍历完集合元素后自动结束。for循环通过索引来遍历集合,可以获得每个元素的索引,不能遍历set实现类集合。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
        答:List的常用实现类集合有:ArrayList集合和LinkedList集合。ArrayList集合底层是数组结构,特点是查询快、增删慢。LinkedList集合底层是链表结构,特点是查询慢、增删快。

点评

棒!!(本条五毛,给钱删除括号内容)  发表于 2019-6-20 20:48
棒!!  发表于 2019-6-20 20:25

评分

参与人数 1黑马币 +5 收起 理由
许振顺 + 5 666没有毛病

查看全部评分

回复 使用道具 举报 4 0
本帖最后由 李保佳 于 2019-6-20 21:00 编辑

1、集合和数组的区别?
1.集合数组的对比
1.长度
数组的长度是固定的
集合的长度是可变的
2.存储的数据类型
数组可以存储基本数据类型,也可以存储引用数据类型
集合只能存储应用数据类型,如果想存储数,只能使用引用数据的包装类·
3.创建对象,
数组创建对象必须指定长度
集合创建对象不指定长度
4打印变量
数组直接打印数组名,得到的是堆内存的地址值
集合的直接答应名称,得到的是集合的内容

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器,集合的专用遍历方式 ,
增强for的底层是迭代器
1.for循环有索引值,增强for循环不需要索引值。
2.for循环可以可以利用索引值进行增删修改,增强for循环不能增删修改。
3.增强for不能拥有字符串数组
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
ArrayList 集合,实现类
底层是数组结构,特点查询快,增删慢
Linkedlist集合,实现类
底层是链表结构,特点查询慢,增删快

点评

贼丑(给钱就删除)  发表于 2019-6-20 20:53
回复 使用道具 举报 2 0
1、集合和数组的区别?

集合:装数组的容器,且长度可变

- 初始化长度是10(集合初始化长度就是一个长度为10的数组)
- 当集合中元素数量<=10,不需要扩容,直接往集合中添加元素
  若>10,集合会扩容
- 只能存引用数据类型,
  若想存数,只能用基本数据类型的包装类
- 创建长度不指定长度,直接打印变量名得到集合内容
- 集合获取长度 数组名.size



数组:也是容器,

- 但是长度在运行期间不可改变,不能往数组中添加元素,
- 固定长度的容器,在存储或删除数据会特别麻烦
- 若数据数量发生变化,每次都要重新创造新的数组,非常消耗资源
- 创建对象必须指定长度,直接打印数组名得到地址值
- 数组获取长度 数组名.length

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?

        迭代器是用于遍历集合的,在创建出来的时候是在所有元素的最前面,在索引值0的前面一位

        增强for是迭代器的一种简化形式,底层就是迭代器,所以使用增强for循环也不能在遍历过程中改变集合长度

        增强for比普通for较为简便,快捷。普通for可以增删,增强for不能增删

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点

     List接口下有ArrayList集合(底层为数组结构,特点是查询快增删慢)
      LinkedList集合(底层是链表结构,查询慢,增删快)
回复 使用道具 举报
1、集合和数组的区别?
答:数组的长度不能发生改变,创建的时候需要指定数组长度,数组可以存储引用类型也可以储存基本数据类型;而集合的长度可以在运行过程中变化,创建不需要指定长度,集合中只能储存引用类型数据。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是集合中用于遍历集合中元素的方式。增强for是一种对迭代器的简化,也能遍历集合中元素,其底层原理就是迭代器。
增强for底层是迭代器,而普通for循环就是一种循环方式,普通for循环不能遍历没有索引值的集合,而增强for可以。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
答:List接口下常用的集合有ArrayList和LinkedList。
ArrayList底层使用数组结构,特点是查询快,增删慢。
LinkedList底层使用链表结构,特点是查询慢,增删快。

点评

没有毛病!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  发表于 2019-6-20 21:08
keyi,keyi  发表于 2019-6-20 20:54
不错,不错  发表于 2019-6-20 20:47
回复 使用道具 举报 4 0
1、集合和数组的区别?

答:
(1)集合是一个长度可变的容器;数组的长度不可改变。
(2)集合可以存储引用类型,如果集合要存储基本类型需要用到包装类;数组可以存储基本类型和引用类型。
(3)集合长度调用方法;数组长度调用属性。
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?

答:迭代器是集合特有的遍历方式。
(1)增强for是简化版的遍历方法,它的底层是迭代器的封装。
(2)增强for可以遍历数组和集合但不能遍历字符串,普通for可以。
(3)在增强for中不能进行增删操作,普通for可以通过索引进行操作。
(4)普通for相比增强for,代码冗长,增加程序员的负担。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点

答:List接口下主要有ArrayList集合、LinkedList集合。
(1)ArrayList集合底层为数组结构,特点:查询快,增删慢。
(2)LinkedList集合底层为链表结构,特点:查询慢,增删快。
回复 使用道具 举报

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

1、集合和数组的区别?

答:集合存储的数据容量可以改变,数组不可以
        数组可以存储基本数据类型和引用数据类型
        集合只能存储引用数据类型,或者基本类型的包装类

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:集合的专用遍历方式
增强for:是对迭代器的一种简化形式,底层就是迭代器,可以对集合和数组进行遍历,快速获取到容器中每一个元素
普通for:普通for不可以遍历没有索引的数组,增强for可以,这就是区别,
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
常用的有ArrayList,LinkedList集合
不常用的有AbstractList, AbstractSequentialList,  AttributeList, CopyOnWriteArrayList, RoleList, RoleUnresolvedList, Stack, Vector

Arraylist底层是数组,特点是查询快,增删慢
LinkedList底层是链表,特点是增删快,查询慢
回复 使用道具 举报
1、集合和数组的区别?
答:1.数组声明了它容纳的元素的类型,而集合不声明。
       2.数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。
       3.数组的存放的类型只能是一种(基本类型/引用类型),集合存放的类型可以不是一种(不加泛型时添加的类型是Object)。
       4.数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查都是最快的。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:Iterator(迭代器)接口提供了很多对集合元素进行迭代的方法。每一个集合类都包括了可以返回迭代器实例的迭代方法。
      增强for循环内部是使用的Iterator来遍历的,只能遍历数组和实现了Iterable接口的集合。
      增强for和普通for循环的区别:
      普通for循环的优点是变量可控,操作起来方便直观,缺点是较为繁琐。
      增强for循环优点是写法简便,无需获得数组、集合长度,也无需根据索引来访问元素,缺点是不能在循环里动态的删除元素和获取元素下标。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
答:List接口下的集合有:ArrayList、LinkedList。
       ArrayList集合的底层是数组结构,特点是查询快(因为索引值连续),增删慢(因为需要创建数组)。
       LinkedList集合的底层是链表结构,特点是查询慢(因为元素的具体地址值不确定,需要从头开始查询),增删快(因
       为只需要改变地址值得指向就可实现增删)。
回复 使用道具 举报

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

1、集合和数组的区别?
答:数组是静态的,数组有固定的长度,一旦创建了就无法改变。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供成员方法,能满足更多的需求。数组的存放的类型只能是一种基本类型或引用类型,集合存放的类型可以不是一种。数组查找速度快,集合删减速度快

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:1.迭代器对集合元素进行迭代一种方法。迭代器可以在迭代过程中删除底层集合的元素,但是不可以直接调用集合的remove删除,可以通过迭代器的remove()方法删除集合元素
2.增强for:把一个集合或者数组中的元素循环赋值给一个相同类型的元素进行遍历,不能再遍历过程中添加删除元素,如果添加删除会数据溢出
3.增强for和普通for循环的区:一个有索引,一个每索引


3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
答:1.ArraysList  LinkedList    2. ArraysList的底层元素是数组结构, LinkedList的底层元素是链表。3.ArraysList查询快、查询慢、增删快增删慢
回复 使用道具 举报
1、集合和数组的区别?
①长度:
集合的长度可变,数组的长度不可变。
数组的长度表达是数组名.length   
集合的长度表达是集合名.size()
②存储的元素
集合存储并没有声明数据类型,存储的是引用数据类型。
数组存储必须先先声明数据类型,并且存储的都是该数据类型。
③执行效率
数组的执行速度比集合快的多。


2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
①迭代器是一种遍历集合的专用方式,迭代器是通过集合的iterator()方法得到的,是依赖于集合而存在的。
②增强for的也是一种遍历数据的方式,底层实现是迭代器
格式是:for(元素数据类型 变量名 :数组/集合对象名){循环体}
③区别是增强for不需要索引就可以遍历,普通for需要索引值才能遍历。
增强for不可以增删元素,普通for可以进行增删。


3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
List接口下面有ArrayList和LinkedList
①ArrayList使用的是数组数据结构,特点是查询快,增删慢
②LinkedList使用的是链表数据结构,特点是增删快,查询慢

点评

我要经验,我要升级  发表于 2019-6-20 21:09
回复 使用道具 举报

1、集合和数组的区别?
   1,数组声明了它容纳的元素类型,而集合不声明
   2,数组的长度一旦确定了长度是固定的,而集合的长度是可变的
   3,数组只能存储相同类型的对象,而集合可用存储不同类型的对象
   4,集合只能存储对象,不能存储基本数据类型,但可用存储它对应的包装类

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
   迭代器:迭代器是所有集合类的一种共性,就是把集合中的元素遍历一遍,
迭代器是通过集合的iterator()方法得到的,所以它是依赖于集合而存在的
   增强for: 简化了for循环,对于遍历获取元素更加便利,内部原理是一个Iterator迭代器 ,所以也不能进行增删元素, 否则会抛出异常
   区别是: for 循环只能用于有索引值的元素遍历,,而增强for对于遍历的方式都可以用,
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
   List接口下有ArrayList集合,LinkedList集合,  
   ArrayList集合底层是数组结构:
   特点:  查询快(根据连续的索引值查找元素)                                
   增删慢(增删元素会创建新的数组)
   LinkedList集合底层是链表结构:
   查询慢(未知具体地址,所以要从头开始查找元素)                    
   增删快(直接修改指针地址值增删元素,不会创建新的数组)
回复 使用道具 举报
1、集合和数组的区别?
集合包含数组,集合中的数据是可变的,数组在运行中元素是不可变的

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器是集合的专用遍历方式
增强for就是底层对迭代器的增强
区别:
普通for需要索引进行遍历,增强for不要索引
增强for代码更简洁,适用范围更广

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
目前所学:
有ArrayList、LinkedList.....
ArrayList集合 底层是数组结构实现,查询快、增删慢
LinkedList集合 底层是链表结构实现,查询慢、增删快
回复 使用道具 举报
1、集合和数组的区别?

  集合存储的数据长度可变,数组长度不可变;

  集合存储引用数据类型,数组可存储基本数据类型,也可存储引用数据类型;

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
   
   迭代器是一个接口,集合特有的;

   增强for循环没索引值,不能增删修改;普通for循环有索引值,可进行增删修改;
  
   
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点?

   List接口下主要集合有:ArrayList,LinkedList;
   
   ArrayList集合底层是数组结构实现,查询快,增删慢;
   
   LinkedList集合底层是链表结构实现,查询慢,增删快;
回复 使用道具 举报

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

1、集合和数组的区别?
答:集合不能存储基本数据类型,数组可以存储基本数据类型和引用数据类型。集合的长度是可以变动的
,而数组的长度是固定的,且需要在定义时给出。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是集合通用的一个遍历访问集合元素的工具,其是一个接口。
增强for即是foreach循环,是对迭代器遍历的一种简化模式。foreach循环可以遍历数组和集合,
遍历集合时不能进行增删操作(底层就是迭代器)
for循环与foreach循环不同,其不能对遍历没有索引的类别的集合。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
答:List接口下有linkedList和ArrayList两个实现子类集合,前者的底层是链表,后者的底层实现是数组。
链表的结构是以节点组成的,通过指针,来逐个链接,所以链表没有索引,方便头尾操作,因为是通过指针进行
访问,所以对其增删操作高效快速,但进行查询则较数组慢。
数组的结构是一块连续的内存块,地址连续,通过索引访问,每次对数组进行增删操作,都会产生一个新
的数组,占用性能资源,其查询快,增删慢。
回复 使用道具 举报
1、集合和数组的区别?
数组的长度是固定,集合的长度是可变的。
数组中存储的是同一类型的元素,集合中存储的都是对象

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:iterator。提供了很多对集合元素进行迭代的方法,每一个集合都包括了
               可以返回迭代器实例的迭代方法,他是集合的专用遍历方式。
增强for:就是对迭代器的简化,可以对集合和数组进行遍历,快速的获取到容器中的每一个元素
区别:遍历集合所有元素的话用增强for会更简洁

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
(1)ArrayList  底层的实现方法是数组形式。特点:查找快,添加删除慢
(2)LinkedList   底层的实现方法是通过循环匹配进行查找的  特点:查找慢,添加删除快
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马