这是我在一个面试初级工程师的时候遇到的一个问题,觉得在项目中都没怎么遇到.一.编写一个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
(#换成@)。