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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

请教各位大神,同一个题目有两种实现方法,这两个方法有什么具体区别吗?比如说内存方面~~
题目是这样的:
                   给定的字符串是: "91 27 -45 46 38 50"
                   最终输出结果是: "-45 27 38 46 50 91"
第一种实现方法:
public class Demo {
        public static void main(String[] args) {
                String str="91 227 23 -45 46 38 50";
                String[] snum=str.split(" ");//使用空格来把字符串分割成字符数组
            int[] arr = new int[snum.length];
                for (int i = 0; i < arr.length; i++) {
                        arr[i]= Integer.parseInt(snum[i]);       
                }
                Arrays.sort(arr);
                for (int i = 0; i < arr.length; i++) {
                        System.out.print(arr[i]+" ");
                }
        }
}


第二种方法:
public class Demo {
        public static void main(String[] args) {
                String str="91 227 23 -45 46 38 50";
                String[] snum=str.split(" ");//使用空格来把字符串分割成字符数组
                Integer[] numInt=new Integer[snum.length];
                for(int i=0;i<snum.length;i++){
                numInt[i]=Integer.parseInt(snum[i]);         //使用Integer的静态方法,把snum[i]数组变为Integer对象,并赋值给Integer对象。
                }       
                Arrays.sort(numInt);
                for (int j = 0; j < numInt.length; j++) {
                        System.out.print(" "+numInt[j].toString());
                }
}




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马