黑马程序员技术交流社区
标题:
如何把集合转成数组?请举个例子看!
[打印本页]
作者:
黄坚声
时间:
2012-5-11 17:11
标题:
如何把集合转成数组?请举个例子看!
如何把集合转成数组?请举个例子看!
作者:
李啸
时间:
2012-5-11 17:24
public static void main(String[] args) throws IOException {
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
Iterator<String> iter=list.iterator();
String[] str=new String[list.size()];
int count=str.length-1;
while(iter.hasNext()){
str[count--]=iter.next();
}
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}
刚刚做的
作者:
小小企鹅
时间:
2012-5-11 17:56
本帖最后由 小小企鹅 于 2012-10-27 22:36 编辑
调用ArrayList的toArray方法
ArrayList<Student>students = new ArrayList<Student>();
students.add( new Student("学生一",24,79f) );
students.add( new Student("学生二",23,89.5f) );
students.add( new Student("学生三",27,96f) );
Object[] studentObj = new Object[5];
studentObj = students.toArray(); //返回包含students所有元素的数组
作者:
杨鹏
时间:
2012-5-11 17:56
首先要明确为何要把集合变为数组,集合变为数组一般是为了限定对集合元素的操作,常见的就是避免增删操作。如果是List集合的话,可以用其提供的toArray()方法。也可以自己写功能。
思路:
(1)将集合传入函数中,创建一个长度为集合元素个数(集合的size()方法)的数组。
(2)遍历集合,然后把集合元素逐个添加到数组中。
(3)遍历结束后把数据返回即可。
假设是List集合,代码如下:
public static Object[] listToArray(List<Object> list) {
Object[] obj = new Object[list.size()]; //创建数组
for (int i=0; i<list.size(); i++) { //遍历集合
obj[i] = list.get(i); //向数组添加元素
}
return obj; //返回数组
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2