`
z_xiaofei168
  • 浏览: 201856 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一道常考的javaSE面试题

阅读更多

一道常考的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;
				}
			}
		}
	}
}

  

  运行结果如下图所示:

 

 

       大家还有什么方法可以实现这个功能,请大家给我留言。以至于我们共同学习、共同进步。

 

 

12
13
分享到:
评论
1 楼 greatwqs 2011-05-22  
排序很多 : 二叉树 , 红黑树 , 冒泡 , 桶排序 , 对排序 , 插入排序 ..
java工具包里面实现排序 : Arrays , Collections 有排序算法(实现Comparator接口) ..

相关推荐

    javaSE面试题合集

    JavaSE面试题合集及其答案,基本包括javaSE所有知识点和详细解释 。

    JavaSE面试题大全

    JavaSE面试题大全是针对Java基础部分的面试准备资料,涵盖了广泛的Java基础知识,旨在帮助面试者应对各种技术问题。在Java SE(标准版)的面试中,常常涉及到以下几个关键知识点: 1. **类和对象**:Java是一种面向...

    JAVASE面试题

    Java 面试题全集 Java 面试题全集是 Java 开发者面试的必备知识,涵盖了 Java 语言的方方面面。本文将对 Java 面试题进行系统的总结和分析,从面向对象的基本概念到高级的设计模式和架构技术,涵盖了 Java 面试中...

    【大厂面试题总结】JavaSE面试题合集及其答案,基本包括javaSE所有知识点和详细解释

    【大厂面试题总结】JavaSE面试题合集及其答案,基本包括javaSE所有知识点和详细解释 。 JavaSE面试题总结详细教程: 目录: 递归算法之输出某个目录下所有文件和子目录列表 泛型中extends和super的区别 内部类的理解...

    JavaSE笔试面试题汇总.pdf

    JavaSE笔试面试题汇总.pdf

    JavaSE基础面试题.docx

    JavaSE基础面试题涵盖了许多核心概念,以下是这些知识点的详细说明: 1. **面向对象的特征**:包括封装、继承和多态。封装是隐藏对象的属性和实现细节,仅对外提供公共访问方式;继承是子类继承父类的属性和方法,...

    【大厂面试题总结】JavaSE面试题总结详细教程

    【大厂面试题总结】JavaSE面试题总结详细教程: 目录: 递归算法之输出某个目录下所有文件和子目录列表 泛型中extends和super的区别 内部类的理解 深入理解Java的反射机制 深入理解Java异常体系 谈谈NIO的理解 谈一...

    JAVASE面试题,JAVASE面试题

    Java SE面试中,单例模式(Singleton)是一个常考的知识点。单例模式是一种限制类实例化次数的设计模式,确保一个类只有一个实例,并提供一个全局访问点。它的核心特点在于控制类的实例化过程,以达到在整个系统中...

    JavaSE 面试题 .docx

    JavaSE 面试题 JavaSE 面试题是 Java 语言的核心,涵盖了 Java 语言的基础知识点,包括变量、运算符、控制结构、方法、数组、String、面向对象编程等内容。下面是其中的一些关键知识点: 1. 变量和数据类型: 在 ...

    01_JavaSE面试题:自增变量.avi

    01_JavaSE面试题:自增变量

    JAVAse面试题

    JAVAse面试题

    02_JavaSE面试题:单例设计模式.avi

    02_JavaSE面试题:单例设计模式

    05_JavaSE面试题:递归与迭代.avi

    05_JavaSE面试题:递归与迭代

    04_JavaSE面试题:方法的参数传递机制.avi

    04_JavaSE面试题:方法的参数传递机制

    06_JavaSE面试题:成员变量与局部变量.avi

    06_JavaSE面试题:成员变量与局部变量

    JavaSE面试题和参考答案.docx

    JavaSE是Java Standard ...以上只是JavaSE面试题的部分重点内容,实际面试中还可能涉及字符串处理、IO流、多线程、网络编程、反射等高级主题。理解并熟练掌握这些知识点,对于JavaSE的面试及日常开发工作至关重要。

    JavaSE 面试题(2025最新版).docx

    在JavaSE面试题中,通常会涉及到Java的基本语法、核心类库、面向对象设计、数据结构、算法、并发编程以及一些高级特性等方面。例如,自增变量的使用考察了求职者对Java基本语法的理解。在Java中,自增运算符++的使用...

    03_JavaSE面试题:类初始化和实例初始化等.avi

    03_JavaSE面试题:类初始化和实例初始化等

    JavaSE面试题及其参考答案.doc

    面试中,JavaSE的相关问题通常涵盖语言基础、数据类型、内存管理、集合框架、多线程、异常处理等多个方面。以下是对这些关键知识点的详细解释: ### 第一章 初识 Java 1. **Java跨平台原理**:Java程序通过编译成...

Global site tag (gtag.js) - Google Analytics