黑马程序员技术交流社区

标题: 集合转数组 [打印本页]

作者: heke    时间: 2013-11-15 13:50
标题: 集合转数组
怎么把ArrayList<Integer> list集合转换为一个int[]数组,不是的integer[],比如下面代码,我要使用printArray()方法,又不能改变printArray(),只能在main里改。
  1. import java.util.ArrayList;

  2. public class Demo3 {
  3.   public static void main(String[] args) {
  4.           Demo3 d=new Demo3();
  5.         ArrayList<Integer> list=new ArrayList<Integer>();
  6.         list.add(123);
  7.         list.add(175);
  8.        
  9.         Integer[] a= list.toArray(new Integer[list.size()]);
  10.         d.pirntArray(a);  //
  11. }

  12.     private void pirntArray(int[] array) {

  13.             for(int a:array){
  14.                     System.out.println(a);
  15.             }
  16.        
  17. }
  18.   
  19. }
复制代码

作者: 雪龙    时间: 2013-11-15 14:26
public class Demo3 {

        public static void main(String[] args) {

                Demo3 d = new Demo3();

                ArrayList<Integer> list = new ArrayList<Integer>();

                list.add(123);

                list.add(175);
               
                Iterator<Integer> it = list.iterator();
                // 创建一个int数组
                int[] a = new int[list.size()];

                for (int i = 0; it.hasNext(); i++) {
                        a[i] = it.next();
                }

                d.pirntArray(a);

        }

        private void pirntArray(int[] array) {

                for (int a : array) {

                        System.out.println(a);

                }

        }
作者: heke    时间: 2013-11-15 15:29
雪龙 发表于 2013-11-15 14:26
public class Demo3 {

        public static void main(String[] args) {

只有这方法么,好麻烦
作者: com_heima    时间: 2013-11-16 11:42

import java.util.ArrayList;

public class ArrayDemo {

        public static void main(String[] args) {

                ArrayList<Integer> al = new ArrayList<Integer>();

                al.add(123);
                al.add(987);
                int[] arr = new int[al.size()];
                for (int i = 0; i < al.size(); i++) {
                        arr[i] = al.get(i);
                }
                printArray(arr);
        }

        private void printArray(int[] array) {

                for (int a : array) {
                        System.out.println(a);
                }
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2