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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

17 个回复

倒序浏览

今天我们开始了集合的学习,请根据自己的理解回答下面问题:
1、集合和数组的区别?

        (1)集合的长度固定,数组的长度可变。

        (2)集合只有查询和更改操作,数组可以进行增删改查的操作。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
        (1).迭代器就是集合专用的遍历方式。

        (2).增强for循环的底层就是迭代器,也是用于遍历集合和数组。

        (3).增强的for循环没有索引也可以对Collection集合实现类进行遍历,而普通的for循环,如何实现类中没有索引则不能对其进行遍历。

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

        (1)ArrayList和LinkedList等,ArrayList底层是数组结构,LinkedList底层是链表结构

        (2)ArrayList在内存中是连续的一片空间,因为有索引所以查询快,底层是数组增删慢。

        (3)LinkedList在内存中不一定是连续的一片空间,它是一个节点,这个节点有这自己的地址值,存储着数值,和下个节点的地址,它的特点是增删快,查询慢。
回复 使用道具 举报
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集合底层是链表结构,特点是:按照地址值去记录元素的存储顺序,由于地址值不连续,所以查询慢,但增删速度快
回复 使用道具 举报
1、集合和数组的区别?
数组长度是固定的,创建时需要指定长度,可以储存基本数据类型也可以储存引用数据类型,并且不能增删元素;
集合长度是可变的,创建时不需要指定长度,只能储存引用数据类型,可以对元素进行增删操作。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器是定义访问和遍历元素的接口,集合专用的遍历方式;
增强for是普通for的升级,底层也是一个迭代器,可以对集合进行遍历;
普通for循环遍历时需要索引值,并且可以通过索引值对元素进行删改,增强for循环遍历时不需要索引值,不能进行增删操作。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
List接口下主要有ArrayList集合、Linkedlist;
ArrayList底层数据结构是数组,特点是查询快,增删慢(增删需要创建新数组);
LinkedList底层数据结构是链表,特点是查询慢(空间不连续,查询是通过地址定位的,因此每次查询指定元素都需要重头开始查询),增删快。
回复 使用道具 举报
1、集合和数组的区别?

数组已经创建后长度不能改变,集合的长度是可以变化的。

集合有增删改查的功能,数组只可以查询和更改

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

迭代器是遍历集合的一种方式。

增强for循环是为了让人遍历集合的时候不必要麻烦的很多步骤,而是直接封装为一步。

普通的for循环是需要有索引值才可以遍历

增强for循环则是所有的集合通用的遍历方式

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

arraylist和linkedlist 前者是数组结构,后者是链表结构

arraylist在内存中是连续的一片空间,查询快增删慢

linkedlist不是连续的,他的特点是增删快查询慢
回复 使用道具 举报

今天我们开始了集合的学习,请根据自己的理解回答下面问题:
1、集合和数组的区别?
答:集合的长度可以改变数组不可以,集合只能储存引用类型,数组可以储存基础类型和引用类型
集合可以增删改查,数组只能查询和更改
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是集合的一种通用遍历方式,增强for就是迭代器的封装方法底层也是迭代器
增强for可以遍历集合和数组,普通for只能遍历List 接口下带索引值的集合类型,也可以遍历数组
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
List 接口下有ArrayList实现类集合和LinkedList实现类集合,
ArrayList集合底层是数组,LinkedList集合底层是链表
回复 使用道具 举报
1、集合和数组的区别?
   
   数组的长度是不可改变的,想要改变数组的数据麻烦不方便
   集合的储存空间是可以改变的,方便增删改查
  
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
   
   迭代器可以对集合进行遍历是集合通用的遍历
   增强for的本质是迭代器
   增强for是通用遍历,普通for只能遍历有索引值的集合或数组

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
   
   ArrayList实现类和linkedList实现类
   ArrayList实现类的底层是数组,特点:增删元素慢,查询元素快
   linkedList实现类的底层是链表,特点:增删元素快,查询元素慢
回复 使用道具 举报
1、集合和数组的区别?
数组:数组时固定长度的容器,在运行期间长度不能改变。
          数组存储的元素可以是基本数据类型也可以是引用数据类型。
          数组可以进行查看修改元素,但是不能进行添加和删除元素
集合:集合是长度可变的存储空间,运行期间可以根据元素的添加删除操作而改变长度,它的底层是数组,会自动帮我们完                     成扩容赋值等操作。
          集合只能存储引用数据类型,如果要存储基本数据类型,必须对基本数据类型进行包装后才能存储。
          集合可以进行增删改查等操作。      
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
     迭代器:一种通过的集合遍历方式。
     增强for:就是迭代器的一种封装方式。
     增强for和普通for区别:
     增强for是一种底层为迭代器的遍历方式,它在遍历的时候不能对集合元素进行增删操作,且迭代器遍历一次之后想要重新遍历必须新建迭代器。
     普通for在遍历时可以进行集合的增删操作,如果要在遍历一次只需在写一次for循环即可。
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
     list接口下面有ArrayList和LinkList两个集合。
    ArrayList:底层时数组,增删慢,查询快
    LinkList:底层是链表,增删快,查询慢
回复 使用道具 举报
谢黄 中级黑马 2019-7-25 21:24:08
9#
1、集合和数组的区别?
   集合的长度是可变的,可以增删改查元素、集合只能存储引用数据类型
   数组的长度是固定的,不能增删元素、既可以储存基本数据类型也可以是引用数据类型

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
   迭代器:集合专用的遍历方式
   增强for:就是对迭代器进行整理利用其迭代原理,是迭代器的简化模式,
   区别:普通for循环是有索引值的,可以进行增删元素
         增强for是固定的长度,没有索引值,不能进行跟据索引去增删元素

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
  1、ArrayList集合 底层是数组结构实现,查询快、增删慢
  2、LinkedList集合 底层是链表结构实现,查询慢,增删快
回复 使用道具 举报
1、集合和数组的区别?
长度:数组长度是固定的,集合长度不是固定的
数据类型:数组可以存储基本类型和引用数据类型,集合只能存储引用数据类型。
作用域不同:数组一般用来查询数据,增删效率比较低,集合能查询据,也能遍历数据,不同集合作用不同。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器是通过Collection的iterator()方法得到,用来遍历集合元素
增强for循环底层是迭代器,数据集合都可以用来遍历。
区别:
1普通for循环有索引值。增强for没有
2.增强for相对更简化,用来遍历更适合,但是需要用到索引做其他操作,应该选择普通for循环

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
1:list接口下有Arraylist和LinkedList
2:Arraylist底层是数据实现的,LinkedList底层是链表实现的。
3:
【1】ArrarList:查询效率高,增删效率低,因为底层是数组实现,
在内存中是一块的连续的空间,查询能快速找到元素,增删需要重新创建数组,效率极低。
【2】LinkedList:查询效率低,增删效率高,因为底层是链表数据结构,在内存中存储空间不是连续的,
增删的时候只需要改变地址值,查询需要每一个元素都遍历,效率很低。
回复 使用道具 举报
1.集合和数组的区别
数组的长度是固定的,运行期间不可改变;数组不可以增删元素;可以存储基本数据类型,引用数据类型
集合的长度是可变的,运行期间可以随着增删操作而改变,底层就是数组;集合可以进行增删操作;集合只能存储引用数据类型,当要存储基本数据类型的时候,只能将基本数据类型转化为包装类类型。


2 什么是迭代器,什么是增强for,增强for和普通for循环的区别
迭代器集合专用的遍历方式,通过集合的Iterator方式获取;
增强for是迭代器的简化形式,底层原理还是迭代器,可以对集合和数组进行遍历

增强for循环和普通for循环的区别
前者不能进行对元素的增删操作,后者可以进行增删操作
前者不需要索引值就可以对元素进行遍历,后者却需要索引值才能进行元素的遍历

3 List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
List接口下有ArrayList、LinkedList等集合,
前者底层的是采用数组结构,查询快,增删慢
后者底层采用的是链表结构,查询慢,增删快。
回复 使用道具 举报
1、集合和数组的区别?
(1)集合是一个长度可改变的容器,数组长度是固定的
(2)数组可以查询元素,修改元素,但是数组不能增删元素,集合可以增删查改元素
(3)数组可以储存基本数据类型,也可以储存引用数据类型,集合只能储存引用数据类型

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器是集合遍历专用的
增强for:内部原理是迭代器,增强for可以遍历集合和数组
增强for和普通for区别
普通for循环可以根据索引值进行增删操作,增强for不能进行增删操作

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
list接口下有 Arraylist集合和linkedlist集合
Arraylist:底层是数组结构
特点:查询快,增删慢
linkedlist:底层是链表结构
特点:查询慢,增删快
回复 使用道具 举报
1、集合和数组的区别?
集合的储存空间可变,其数据容量可以发生变化。而数组的长度是固定的,长度不可改变,不能增加数据的个数。
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器其是集合的一种专用的遍历方式,在集合中可以通用。增强for其实也是一种迭代器,可以在集合和数组中使用。它们的区别为增强for在没有索引的情况下也可以进行数组的遍历,
但是普通for只能进行在有索引值情况下的遍历。
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
其有ArrayList集合以及LinkedList集合。其中ArrayList集合底层是数组结构,查询快,增删起来比较慢、
LinkedList集合底层是链表结构,具有查询慢,增删快的特点。
回复 使用道具 举报
1、集合和数组的区别?
集合:
1集合长度是可以改变的,创建时不指定集合长度,运行期间可以随着元素的添加而改变
2.集合可以增删改查元素
3集合像存储引用数据类型是需要存储该脚本类型对应得包装类型
数组:
1.数组的长度是在创建时指定了的,运行期间不可以更改
2.数组可以存储基本数据类型,也可以存储引用数据类型


2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
Cllecti集合遍历循环的方式
增强for循环底层也是迭代器,所以在遍历循环过程中也不能对集合增删修改
普通for循环:有索引值就可以增删修改

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

LinkedList集合:链表结构,查询慢,增删快
回复 使用道具 举报
1、集合和数组的区别?
集合可以随意增删集合里的元素,而数组不能。
集合可以增删改查,数组只能查询和更改指定位置的元素。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器是在所有集合都能用迭代器来遍历;增强for就相当于迭代器;普通for循环可以在循环中增删元素,而由于增强for循环底层是迭代器所以不能在循环中增删对应元素

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
ArrayList和LinkdList
ArrayList底层是数组结构,访问需要申请一片连续的空间,所以访问快但是增删慢
LinkdList底层是链表结构,是由内存中零散的空间拼凑成的,由上一个元素中含有本次元素的地址值,所以访问慢,但是增删快。
回复 使用道具 举报
1、        集合和数组的区别?
数组的长度在创建的时候就固定了,运行期间是不可以改变的。
数组的元素是可以查看的,但是不可以增删。
数组可以储存基本数据类型,也可以存储引用的数据类型。

集合的长度是可以改变的,运行期间可以随着元素的添加而改变底。
底层就是数组,集合底层会帮我们扩容和赋值等操作。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器是集合专用的遍历方式。
增加for循环本身就是一个迭代器。
增加for循环本身就是一个迭代器,在遍历的时候不可以增删的。
而普通的for循环是可以增删的。

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
ArrayList集合:底层是数组结构实现,查询快,增删慢;
LinkedList集合:底层是链表结构实现,查询慢、增删快:
回复 使用道具 举报
1、集合和数组的区别?
1.数组是固定长度的,在创建的时候就指定长度,运行期间不可改变

2.数组可以查看元素,修改元素内容,但是数组不可以增删元素

3.数组可以存储基本数据类型,也可以存储引用数据类型

4.数组的访问方式

赋值:数组名[索引值] = 值;

取值:数据类型 变量 = 数组名[索引值];

1.集合的长度是可变的,在创建时不指定集合长度,运行期间可以随着元素的添加而改变

底层就是数组,集合底层会自动帮我们完成数组的扩容、赋值等操作

2.集合就可以增删改查元素

3.集合只能存储引用数据类型,当集合想存储基本数据类型数据时,需要存储该基本类型对应的包装类类型

4.

添加元素

add(Object o):将元素添加到集合的末尾

add(int index,Object o):将元素添加到指定的位置

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器是一种对象,可以遍历标准模板库容器中的部分或全部元素。
增强for本质也是一种迭代器,不需要索引
for循环可以利用索引值进行增删修改,增强for循环不行

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
ArrayList和LinkedList
ArrayList:数组结构,增删慢,索引快
LinkedList:链表结构,增删快,索引慢
回复 使用道具 举报
1、集合和数组的区别?
(1)数组
        【1】固定长度,创建的时候就指定长度,运行期间不可改变
        【2】数组可以查看元素,修改内容,但不可增删元素
        【3】可以存储基本数据类型、引用数据类型
(2)集合
        【1】是一个存储空间可变的存储模型,长度可变,运行期间可改变
        【2】集合可以增删改查
        【3】只能存储引用数据类型、基本数据类型的包装类

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
(1)迭代器:
        【1】概述:指单列集合的专用遍历方式,通过集合的iterator()方法得到,依赖于集合而存在
        【2】方法:E  next()  :  返回迭代中的下一个元素   
                 Boolean hasNext() :  如果仍有元素可以迭代,则返回true
(2)增强for:
        【1】概述:简化数组和Collection集合的遍历,内部原理是一个iterator迭代器
        【2】格式:for(元素数据类型 变量名 : 数组/集合对象名) {
                      循环体;
                  }
(3)增强for和普通for循环的区别:
        【1】增强for:可在没有索引值的情况下使用
        【2】普通for:不可在没有索引值的情况下使用

3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
(1)ArrayList
        【1】底层:数组结构实现
        【2】特点:查询快、增删慢
(2) LinkedList
        【1】底层:链表结构实现
        【2】特点:查询慢、增删快

——张柠
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马