一道常考的javaSE面试题
上周一,.NET班有四个同学去面试,面试题是一道排序题,不管用什么方式做出结果就行。
就这道题我也想些想法,当时他们和我说完,我在想用什么方法可以实现。毕竟现在javaSE都忘的差不多了,现在主要学的还是javaEE方面。年前学习JSP和SERVLET一片的知识,到了年后主要学习三大框架、ajax、jquery和XML等。不过当时出现脑中的算法只有:java.util包中定义的Arrays类和冒泡法。
下面就拿上面方说的那两种方法具体说说。
在JDK的java.util包中定义的Arrays类提供了多种数据操作方法,实现了对数组元素的排序、填充、转换、增强检索和深度比较等功能,所以的这些方法都是static的,下面介绍对数组元素进行排序的方法。数组元素的排序通常是指一维数值型数组元素按升序排序,偶尔也会涉及一维String数组排序,一般来说,多维和其他引用类型的元素数组排序使用意义不大。
Arrays类中的sort()的格式:
public static void sort(<type>[] a);
案例1:
JDK的java.util包中定义的Arrays类提供了排序方法
一维数组排序:
package cn.z_xiaofei168.sort;
import java.util.Arrays;
public class TestArraySort {
/**
* @author z_xiaofei168
*/
public static void main(String[] args) {
int[] arr = { -1, -3, 5, 7, 9, 2, 4, 6, 8, 10 };
System.out.print("整数排序前:");
displayIntArr(arr);
Arrays.sort(arr);
System.out.print("整数排序后:");
displayIntArr(arr);
String[] name = {"Tom","Kitty","James","z_xiaofei168","DXL_xiaoli","Zhang_Di"};
System.out.print("字符串排序前:");
displayStringArr(name);
Arrays.sort(name);
System.out.print("字符串排序后:");
displayStringArr(name);
}
/** 整数排序方法 */
public static void displayIntArr(int[] arr) {
for (int i : arr) {
System.out.print(i + "\t");
}
System.out.println();
}
/** 字符串排序方法 */
public static void displayStringArr(String[] arr) {
for (String s : arr) {
System.out.print(s + "\t");
}
System.out.println();
}
}
运行结果如下图所示:
案例2:冒泡法
package cn.z_xiaofei168.sort;
public class TestMaopao {
/**
* @author z_xiaofei168
*/
public static void main(String[] args) {
int[] arr = { -1, -3, 5, 7, 9, 2, 4, 6, 8, 10 };
System.out.print("整数排序前:");
for(int ar : arr){
System.out.print(ar+"\t");
}
System.out.println();
displayIntArr(arr);
System.out.print("整数排序后:");
for(int a : arr){
System.out.print(a+"\t");
}
}
/** 冒泡排序方法 */
public static void displayIntArr(int[] arr) {
for (int i=arr.length-1;i>0;i--) {
for (int j = 0; j < i; j++) {
if(arr[j]>arr[j+1]){
int temp;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}
运行结果如下图所示:
大家还有什么方法可以实现这个功能,请大家给我留言。以至于我们共同学习、共同进步。
分享到:
相关推荐
JavaSE面试题合集及其答案,基本包括javaSE所有知识点和详细解释 。
JAVASE面试题
很全面的java面试题,可以帮助你度过面试官的考核
JavaSE面试题JavaSE面试题JavaSE面试题JavaSE面试题JavaSE面试题JavaSE面试题
本人刚经过多家面试,总结论了面试总结,包含了JAVASE大部分的面试可能出现的内容。
【大厂面试题总结】JavaSE面试题合集及其答案,基本包括javaSE所有知识点和详细解释 。 JavaSE面试题总结详细教程: 目录: 递归算法之输出某个目录下所有文件和子目录列表 泛型中extends和super的区别 内部类的理解...
JavaSE笔试面试题汇总.pdf
Javase 面试题.docx
JavaSE 面试题 .docx
JavaSE面试题和参考答案.docxJavaSE面试题和参考答案.docxJavaSE面试题和参考答案.docxJavaSE面试题和参考答案.docxJavaSE面试题和参考答案.docxJavaSE面试题和参考答案.docx
【大厂面试题总结】JavaSE面试题总结详细教程: 目录: 递归算法之输出某个目录下所有文件和子目录列表 泛型中extends和super的区别 内部类的理解 深入理解Java的反射机制 深入理解Java异常体系 谈谈NIO的理解 谈一...
javase面试题及其参考答案包括简介 基本数据类型 集合 等内容
javase面试题,含答案详解及其分析,对于初步学习java的同学有很大的帮助
JavaSE面试题和参考答案.pdfJavaSE面试题和参考答案.pdfJavaSE面试题和参考答案.pdfJavaSE面试题和参考答案.pdfJavaSE面试题和参考答案.pdf
JavaSE面试题-含答案.pdf
JavaSE 面试题 (2).docx