命令行传参 有时候你希望运行一个程序时候再传递给它消息,这要靠传递命令行参数给main()函数实现。publicstaticvoidmain(Stringargs〔〕){args。length数组长度for(inti0;iargs。length;i){System。out。println(args〔i〕:args〔i〕);}} 可变参数 JDK1。5开始,Java支持传递同类型的可变参数给一个方法。 在方法声明中,在指定参数类型后加一个省略号(。。。)。 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。publicstaticvoidmain(Stringargs〔〕){调用可变参数的方法printMax(34,3,2,5,56。2);printMax(newdouble〔〕{11。1,22。2,33。3});}publicstaticvoidprintMax(double。。。numbers){if(numbers。length0){System。out。println(Noargumentpassed);return;}doubleresultnumbers〔0〕;排序for(inti1;inumbers。length;i){if(numbers〔i〕result){resultnumbers〔i〕;}}System。out。println(Themaxvalueisresult);}输出结果Themaxvalueis56。2Themaxvalueis33。3Processfinishedwithexitcode0每日Java面试题 一、List、Set、Map是否继承自Collection接口? List、Set是,Map不是。Map是键值对映射容器,与List和Set有明显的区别,而Set存储的零散的元素且不允许有重复元素(数学中的集合也是如此),List是线性结构的容器,适用于按数值索引访问元素的情形。 二、Collections。sort排序内部原理 在Java6中Arrays。sort()和Collections。sort()使用的是MergeSort,而在Java7中,内部实现换成了TimSort,其对对象间比较的实现要求更加严格。 三、List、Set、Map之间的区别是什么? List、Set、Map的区别主要体现在两个方面:元素是否有序、是否允许元素重复。 三者之间的区别,如下表: