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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhanganping 中级黑马   /  2016-2-17 21:30  /  745 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. 关于将int数组使用系统提供的API转成集合后,不可以进行的操作是(     )
a) 增加集合中的元素
b) 迭代集合
c) 修改集合中的元素
d) 获取集合中元素的个数

9 个回复

倒序浏览
多想给你解答,可是我还没有学到这块的知识点。   努力吧
回复 使用道具 举报
A不能增加,因为把数组看做一个整体转化成集合  ,其他几个都可以,注意使用引用数据类型数组

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
j6819236 发表于 2016-2-17 22:11
A不能增加,因为把数组看做一个整体转化成集合  ,其他几个都可以,注意使用引用数据类型数组 ...

能解释一下为什么吗?
回复 使用道具 举报
这个系统提供的API应该是Arrays.asList方法:
java.util.Arrays.asList(数组)产生的集合类型是java.util.Arrays.ArrayList(注意,并非我们常用的java.util.ArrayList类),你可以看一下这个ArrayList类源码,该类不提供增删元素的方法。

扩展:
刚才我试了一下
                int[] b = new int[]{1,2,3};
                System.out.println(java.util.Arrays.asList(b).size()); //result:1
                System.out.println(java.util.Arrays.asList(b));//result:[I@15db9742
结果发现int[]数组如果直接通过系统提供的API,只能得到一个仅含1个元素的List集合。
这个涉及到装箱拆箱的问题,使用java.util.Arrays.asList(new Integer[]{1,2,3})会得到我们想要的含3个元素的List集合。

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
A不能增加,将数组转换为集合,需要遍历数组,然后一个个加到集合中,要用到数组的引用。所以你要先申请这个数组,申请后数组的长度是固定的,你不能更改,除非重新申请新的数组。
回复 使用道具 举报
答案应该是A,数组中的元素是不固定的,转换成集合后就不可以对其进行增删
回复 使用道具 举报
黑白涩 来自手机 中级黑马 2016-2-19 07:53:09
8#
增删操作不行,其他操作可以,应该是空间大小指定了,不能动了
回复 使用道具 举报
a) 增加集合中的元素
回复 使用道具 举报
数组转成集合后,集合的长度不能改变.故A
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马