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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


1、集合和数组的区别?

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

3、什么是泛型?使用泛型有什么好处?

75 个回复

倒序浏览

1、集合和数组的区别?
集合和数组都是java中的容器,用于存储数据。
(1)可变性:
        集合:集合的长度是可变的,因为集合的底层就是数组,当增删元素的时候,会进行数组的扩容。
        数组:数组的长度在运行期间不可变,一旦创建,就固定。
(2)存储的数据类型:
        集合:只能存储引用数据类型,如果想存储基本数据类型,需要存储对应的包装类。
        数组:基本数据类型和引用数据类型都可以存储。
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
(1)迭代器:是用来对没有索引的集合进行遍历操作的一个工具。主要在循环中通过两个方法来实现遍历:
hasnext()判断是否包含更多元素
next()返回下一个元素
(2)增强for也叫for each,底层也是一个迭代器,写法上和for循环类似,主要实现了对集合的遍历。
(3)增强for和普通for的区别:
        1.增强for不能操作索引,普通for可以;
        2.增强for不能在遍历过程中进行增删操作,否则会导致异常,而普通for可以。
3、什么是泛型?使用泛型有什么好处?
(1)泛型是一种位置的数据类型,泛型也可以看成是一个变量,用来接收数据类型。
(2)好处:
        1.避免了类型转换的麻烦,存储的是什么类型,取出时就是什么类型;
        2.把运行期异常(代码运行之后会抛出异常),提升到了编译期(写代码时就会报错),提高了程序的除错效率。
回复 使用道具 举报
1、集合和数组的区别?
答:①长度可变与否
集合:集合的长度是可变的,因为集合的底层就是数组,当增删元素的时候,会进行数组的扩容
数组:数组的长度在运行期间不可变,一旦创建,就固定
②存储的数据类型不同
集合:只能存储引用数据类型,如果想存储基本数据类型,需要存储对应的包装类
数组:基本数据类型和引用数据类型都可以存储

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:【迭代器】Iterator是一种通用的Collection集合元素的获取方式,通过判断集合中是否有元素,有则取出,继续判断,直到把集合中的元素全部取出为止。
【增强for循环】是基于迭代器设计的一种高级for循环,专门用于遍历数组和集合。
增强for和普通for循环的【区别】:
①增强for循环适用于所有单列集合和数组的遍历(含不带索引的集合),普通for循环只适用于有索引值的数组和集合遍历。
②增强for循环基于迭代器设计,其底层实现原理运用到指针概念,不建议在迭代过程中对集合长度进行修改,可能发生并发修改异常。普通for循环可以在运行过程中修改集合长度。

3、什么是泛型?使用泛型有什么好处?
【泛型】是在定义类或方法时,对于未知类型的数据进行占位,用于后期接收数据类型,以便预支使用的一种未知的数据类型。
【泛型的好处】
①避免了类型转换的麻烦,使用API时更加直观简介。
②得到了编译时期的语法检查
回复 使用道具 举报

吴 元 陶:

1、集合和数组的区别?

        答:长度不同:
            集合:长度可变,因为集合的底层是数组,增删元素就会进行数组的扩容。


            数组:运行期间长度不可变。

               
            存储的数据类型不同:
            集合:只能存引用数据类型,如果想存基本数据类型,需要存储对应的包装类。


            数组:基本数据类型





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

        答:【迭代器是Collection集合元素的通用获取方式;

            增强for循环是专门用来遍历数组和集合的高级循环;】

           【新for循环必须有被遍历的目标。目标只能是Collection或者是数组。新式for仅仅作为遍历操作出现】



3、什么是泛型?使用泛型有什么好处?

        答:泛型是一种未知的数据类型。
               
        使用泛型

的好处:

1、避免了类型转换的麻烦,存储数据是什么类型,取出数据就是什么类型。
回复 使用道具 举报
1、集合和数组的区别?
答:
   集合和数组主要在两个方面有明显区别:
   1.长度上有区别:集合的长度是可变的,因为集合的底层就是数组,当增删元素的时候,会进行数组的扩容;数组的长度在运行期间不可变,一旦创建,就固定;
   2.在存储的数据类型上有区别:集合只能存储引用数据类型,如果想存储基本数据类型,需要存储对应的包装类;数组引用类型和基本类型都可以存储。
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:
    迭代器:是用来遍历集合的一种工具。
    增强for:是基于迭代器的继承上建立的一种方法,底层也是迭代器,用来遍历集合,相当于迭代器的简化
    增强for和普通for循环的区别:因为所有集合类型都不一定有索引值,有索引值的集合能用普通for循环遍历,但是没有索引值的集合无法使用普通for循环遍历,因此开发了增强for循环来遍历所有集合,不管有没有索引值都能够遍历。
3、什么是泛型?使用泛型有什么好处?
答:
   泛型:泛型是一种未知的数据类型,可当做一个变量,在穿创建对象时再定义具体类型,没有指定类型时,可默认当做Object类型。
   好处:1.减少类型转换的麻烦;
         2.将运行时期的ClassCastException,转移到了编译时期变成了编译失败,更加方便我们在编写代码时即时发现,然后修改。
   

点评

每种集合的扩容因子和扩容增量不一样,不是每次增删元素都会引起扩容  发表于 2019-3-21 10:53
回复 使用道具 举报
1、集合和数组的区别?
答:
        长度:
                集合:长度可变;
                数组:长度不可变;
        存储类型:
                集合:只能存储引用类型,想存储基本类型,只能存储对应的包装类;
                数组:引用类型和基本类型都可以存储
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:
        迭代器:遍历集合的工具
        增强for:也是集合的工具,它是迭代器的简化
        区别:
                普通for:只能遍历有索引的数组或集合;
                增强for:不仅可以遍历有索引的数组或集合,还可以遍历无索引的数组或集合
3、什么是泛型?使用泛型有什么好处?
答:
        泛型:未知的数据类型,可看着一个变量,用来接收数据;
        好处:
                避免数据类型转换的麻烦;
                将运行期的异常,提升到编译期;即运行之后会抛出的异常,会在编写代码期间报错;
回复 使用道具 举报

1、集合和数组的区别?
数组的长度是固定的。
集合的长度是可变的。
数组中存储的是同一类型的元素,可以存储基本数据类型值。
集合存储的都是对象。而且对象的类型可以不一致
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。
增强for循环需要索引
3、什么是泛型?使用泛型有什么好处?
是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型.       
将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
避免了类型强转的麻烦。
回复 使用道具 举报
1、集合和数组的区别?
答:
数组的长度是固定的。集合的长度是可变的。

数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:
Iterator用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器;
增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。
区别:在遍历的过程中,不能对集合中的元素进行增删操作
3、什么是泛型?使用泛型有什么好处?
答:
泛型:可以在类或方法中预支地使用未知的类型
好处:
- 将运行时期的ClassCastException,转移到了编译时期变成了编译失败。

- 避免了类型强转的麻烦
回复 使用道具 举报
龙舟 中级黑马 2019-3-20 21:06:51
7#
1、集合和数组的区别?

①数组的长度是固定的。集合的长度是可变的。
②数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不
一致。在开发中一般当对象多的时候,使用集合进行存储

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

迭代器 :  在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口
java.util.Iterator 。 Iterator 接口也是Java集合中的一员,但它与 Collection 、 Map 接口有所不同,
Collection 接口与 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访问(即遍历) Collection 中的元
素,因此 Iterator 对象也被称为迭代器。

增强for : 增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原
理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。


区别:
①增强for循环和iterator遍历的效果是一样的,也就说:增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件)。但是增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容,不能获取下标等。
②ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。
③而对于 LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用增强for循环,也就是iterator。

3、什么是泛型?使用泛型有什么好处?

泛型:可以在类或方法中预支地使用未知的类型。

①将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
②避免了类型强转的麻烦。
回复 使用道具 举报
1、集合和数组的区别?
答:数组的长度是固定的。集合的长度是可变的。
      数组中存储的是同一类型的元素,可以存储基本数据类型值,也可以存储引用数据类型。集合存储的都是对象。而且对象的类型可以不一致。在开发中当对象多的时候,使用集合进行存储
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是用来遍历集合中的元素的。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
      增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。
      增强for的代码更加简洁,通常只进行遍历元素,不要在遍历的过程中对集合元素进行增删操作。
3、什么是泛型?使用泛型有什么好处?
答:可以在类或方法中预支地使用未知的类型,一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。
好处:1.避免了类型转换的麻烦,存储数据是什么类型,取出数据就是什么类型
       2.把运行期异常(代码运行之后会抛出异常),提升到了编译期(写代码的时候会报错)
回复 使用道具 举报
1、集合和数组的区别?
答:数组的长度是固定的。集合的长度是可变的。
      数组中存储的是同一类型的元素,可以存储基本数据类型值,也可以存储引用数据类型。集合存储的都是对象。而且对象的类型可以不一致。在开发中当对象多的时候,使用集合进行存储
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
答:迭代器是用来遍历集合中的元素的。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
      增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。
      增强for的代码更加简洁,通常只进行遍历元素,不要在遍历的过程中对集合元素进行增删操作。
3、什么是泛型?使用泛型有什么好处?
答:可以在类或方法中预支地使用未知的类型,一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。
好处:1.避免了类型转换的麻烦,存储数据是什么类型,取出数据就是什么类型
       2.把运行期异常(代码运行之后会抛出异常),提升到了编译期(写代码的时候会报错)
回复 使用道具 举报
1、集合和数组的区别?

①数组的长度是固定的。集合的长度是可变的。
②数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不
一致。在开发中一般当对象多的时候,使用集合进行存储

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

迭代器 :  在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口
java.util.Iterator 。 Iterator 接口也是Java集合中的一员,但它与 Collection 、 Map 接口有所不同,
Collection 接口与 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访问(即遍历) Collection 中的元
素,因此 Iterator 对象也被称为迭代器。

增强for : 增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原
理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。


区别:
①增强for循环和iterator遍历的效果是一样的,也就说:增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件)。但是增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容,不能获取下标等。
②ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。
③而对于 LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用增强for循环,也就是iterator。

3、什么是泛型?使用泛型有什么好处?

泛型:可以在类或方法中预支地使用未知的类型。

①将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
②避免了类型强转的麻烦。
回复 使用道具 举报
1、集合和数组的区别?

数组的长度是固定的。集合的长度是可变的。
数组中存储的是同一类型的元素,可以存储基本数据也可以储存引用数据。
集合存储的都是对象。而且对象的类型可以不一致。最好是一致。
在开发中一般当对象多的时候,使用集合进行存储。

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

迭代器是Collection集合元素的遍历方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个
元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。
增强for循环专门用来遍历数组和集合的。不能增删
迭代器有增删等其他功能 增强for没有


3、什么是泛型?使用泛型有什么好处?

泛型“?”可以模拟未知的数据类型带来的强转错误
泛型好处
将运行时期的错误,转移到了编译时期变成了编译失败。
避免了类型强转的麻烦。
回复 使用道具 举报
1、集合和数组的区别?

集合长度可变,集合底层就是数组,在增删时,集合会自动扩容。数组长度运行期间不可改变

集合只能存储引用数据类型,数组能存储基本数据类型和引用数据类型。

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

遍历访问集合/数组的一个接口

增强for循环是jdk1.5以后出来的一个高级for循环,它的内部原理就是一个迭代器。

普通for循环在执行过程中能进行增删等其他操作,而增强for只能遍历。

普通for可以遍历集合/数组,增强for循环必须有被遍历的目标,只能是Collection或者是数组。

3、什么是泛型?使用泛型有什么好处?

泛型:就是可以在类或方法中预支地使用未知的类型。

好处:(1)将运行期间的ClassCastException,转移到编码时期。提高安全性。

         (2)避免出现强转类型的麻烦
回复 使用道具 举报

1、集合和数组的区别?
集合长度可以改变,集合只能储存引用类型和对象。
数组长度不可以改变,数组可以储存基本数据类型和引用类型。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器即Collection集合元素的通用获取方式。
增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操。
区别:增强for循环专门用来遍历数组和集合的。
      
3、什么是泛型?使用泛型有什么好处?
泛型:可以在类或方法中预支地使用未知的类型。
好处:1.将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
          2.避免了类型强转的麻
回复 使用道具 举报
1、集合和数组的区别?
数组:数据一但创建在运行中的长度是不可变的,数据既可以存储基本数据类型也可以存储引用数据类型.
集合:集合的长度是可以改变的,并且集合只能存储引用数据类型.
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator 。 Iterator 接口也是Java集合中的一员,但它与 Collection 、 Map 接口有所不同,Collection 接口与 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访问(即遍历) Collection 中的元
素,因此 Iterator 对象也被称为迭代器
增强for:
也称for each循环 是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的.它的内部原理其实是个iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作.
区别:增强for循环在遍历的过程中不能对集合中的元素进行增删操作

3、什么是泛型?使用泛型有什么好处?
泛型:可以在类或方法中预支地使用位置的类型
好处:
(1)将运行时期的ClassCastException(类型转换错误),转移到了编译时期变成了编译失败。
(2)避免了类型强转的麻烦
回复 使用道具 举报
1、集合和数组的区别?
数组:数据一但创建在运行中的长度是不可变的,数据既可以存储基本数据类型也可以存储引用数据类型.
集合:集合的长度是可以改变的,并且集合只能存储引用数据类型.
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator 。 Iterator 接口也是Java集合中的一员,但它与 Collection 、 Map 接口有所不同,Collection 接口与 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访问(即遍历) Collection 中的元
素,因此 Iterator 对象也被称为迭代器
增强for:
也称for each循环 是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的.它的内部原理其实是个iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作.
区别:增强for循环在遍历的过程中不能对集合中的元素进行增删操作

3、什么是泛型?使用泛型有什么好处?
泛型:可以在类或方法中预支地使用位置的类型
好处:
(1)将运行时期的ClassCastException(类型转换错误),转移到了编译时期变成了编译失败。
(2)避免了类型强转的麻烦
回复 使用道具 举报
1.
集合长度可变, (底层是数组, 增删元素时会将数组扩容),集合只能存储引用类型
数组长度不可变, 可以存储基本类型和引用类型
2.
迭代器是专门用于遍历数组和集合的对象,
增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原
理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作
增强for没有索引值, 普通for有索引值
3.
泛型就是在类、接口或方法方法中预支地使用未知的类型。
好处: 将运行时期的ClassCastException,转移到了编译时期变成了编译失败, 避免了类型强转的麻烦。
回复 使用道具 举报
1、集合和数组的区别?集合能够改变长度,数组不行

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?  迭代器就是遍历 增强for就是高级for循环 比普通for更简便

3、什么是泛型?使用泛型有什么好处? 泛型就是 可以在类或方法中预支地使用未知的类型。
好处:将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
           避免了类型强转的麻烦。
回复 使用道具 举报

1、集合和数组的区别?

数组的长度不变。
集合的长度是可以改变的。
数组中可以存储基本数据类型和引用数据类型。
集合存储的都是对象。

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
为了遍历集合所有元素所专门创建的Iterator接口即为迭代器。
增强for专门用来遍历数组和集合的。
增强for循环没有索引,而普通for循环有索引

3、什么是泛型?使用泛型有什么好处?

在类或方法中可以使用未知的类型。
将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
避免了类型强转的麻烦。
回复 使用道具 举报
1、集合和数组的区别?
数组:数据一但创建在运行中的长度是不可变的,数据既可以存储基本数据类型也可以存储引用数据类型.
集合:集合的长度是可以改变的,并且集合只能存储引用数据类型.
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator 。 Iterator 接口也是Java集合中的一员,但它与 Collection 、 Map 接口有所不同,Collection 接口与 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访问(即遍历) Collection 中的元
素,因此 Iterator 对象也被称为迭代器
增强for:
也称for each循环 是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的.它的内部原理其实是个iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作.
区别:增强for循环在遍历的过程中不能对集合中的元素进行增删操作

3、什么是泛型?使用泛型有什么好处?
泛型:可以在类或方法中预支地使用位置的类型
好处:
(1)将运行时期的ClassCastException(类型转换错误),转移到了编译时期变成了编译失败。
(2)避免了类型强转的麻烦
回复 使用道具 举报
1、集合和数组的区别?
长度:
集合的长度可以改变,因为集合的底层是一个数组,长度可以进行扩容
数组的长度一经创建不可改变
存储类型:
集合只能存储引用数据类型,
数组可以存储基本数据类型和引用数据类型两种

2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器就是对单列集合中的元素进行判断,然后再获取从中的每一个元素的一个遍历方式
增强for是对数组和集合的一个遍历的另一种方法.
增强for适用于对没有索引的数组和集合的遍历.
普通for循环适用于对有索引的数组和集合的遍历

3、什么是泛型?使用泛型有什么好处
泛型就是不确定的数据类型,
使用泛型的好处有:
1.避免了数据类型之间的转换,输入的是什么数据类型,输出的就是什么类型
2.将运行期错误提示(编译期不报错,运行程序时才提示出错) 提升 到编译期错误提示(写代码时就会提示出错),方便了我们对代码错误的提前判断
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马