你的位置:首页 > 软件开发 > Java > (一道面试题)对一个对象数组进组排序

(一道面试题)对一个对象数组进组排序

发布时间:2017-11-15 21:00:18
这是我在一个面试初级工程师的时候遇到的一个问题,觉得在项目中都没怎么遇到.一.编写一个Student对象public class Student { private String name; private Integer age;/** * @return the name * ...

(一道面试题)对一个对象数组进组排序

这是我在一个面试初级工程师的时候遇到的一个问题,觉得在项目中都没怎么遇到.

一.编写一个Student对象

public class Student { private String name; private Integer age;/** * @return the name *//** * @return the name */public String getName() { return name;}/** * @param name the name to set */public void setName(String name) { this.name = name;}/** * @return the age */public Integer getAge() { return age;}/** * @param age the age to set */public void setAge(Integer age) { this.age = age;}/*** <p>Title: </p>* <p>Description: </p>* @param name* @param age*/public Student(String name, Integer age) { super(); this.name = name; this.age = age;}/* (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) *//* (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) */}

二.编写测试类主要用到得时Collections这个辅助工具

1.Collections.sort方法支持对对象进组排序

2.使用方法:只要实现Comparator方法.

3.实现目的:主要是告诉这个方法我要用什么方式进行对象的排序

4.这里我将对学生的年龄进行排序,年龄相等的对名字再进行排序

 

/** * @Title: ArrayListDemo.java* @Package com.hck.test* @Description: TODO(用一句话描述该文件做什么)* @author 洪楚凯 * @date 2017年11月15日 下午7:34:47* @version V1.0 */package com.hck.test;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * * 项目名称:arrayListDemo * 类名称:ArrayListDemo * 类描述: * 创建人:洪楚凯 * 创建时间:2017年11月15日 下午7:34:47 * 修改人:洪楚凯 * 修改时间:2017年11月15日 下午7:34:47 * 修改备注: * @version * */public class ArrayListDemo { public static void main(String[] args) {	//创建数组并且添加对象	List<Student> slist=new ArrayList<Student>();	slist.add(new Student("张三", 28));	slist.add(new Student("王五", 23));	slist.add(new Student("老六", 27));	slist.add(new Student("啊四", 21));	slist.add(new Student("大红", 21));	System.out.println("===排序前===");	for (Student student:slist) {		System.out.print(student.getName()+" ");	}	System.out.println(); /**  * Collections.sort方法支持对对象进组排序  * 使用方法:只要实现Comparator方法.  * 这个方法主要是告诉这个方法我要用什么方式进行对象的排序  * 这里我将对学生的年龄进行排序,年龄相等的对名字再进行排序  */	Collections.sort(slist, new Comparator<Student>() {		@Override		public int compare(Student o1, Student o2) {			//大于返回1			if(o1.getAge()>o2.getAge())			{				return 1;			}			//小于返回-1			if(o1.getAge()<o2.getAge())			{				return -1;			}			//等于的话比较name的大小			//compareTo返回值也是正数,0,负数			//对应的是大于,等于,小于		 return(o1.getName().compareTo(o2.getName()));					// TODO Auto-generated method stub		}	});	System.out.println("===排序后===");	//增强for循环语句打印输出	for (Student student:slist) {		System.out.print(student.getName()+" ");	}}}

 四.实验结果:

(一道面试题)对一个对象数组进组排序

五.总结:这个主要是对数组熟悉程度的一个考察.

 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:(一道面试题)对一个对象数组进组排序

关键词:排序

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。