定义一个Employee类并排序(完整版本)
2015-10-31 10:16
543 查看
定义一个Employee类,属性:name:String,age:int,salary:double <span style="white-space:pre"> </span>* 把若干Employee对象放在List中, <span style="white-space:pre"> </span>* 排序并遍历输出,排序规则:salary高的在前面,salary相同时age大的在前面,age也相同时按照name升序排列
package testclass; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class TestClass { private String name; private int age; private double salary; public TestClass(){ super(); } public TestClass(String name, int age, double salary){ super(); this.name = name; this.age = age; this.salary = salary; } public String getName(){ return name; } public void setName(String name){ this.name = name; } public int getAge(){ return age; } public void setAge(int age){ this.age = age; } public double getSalary(){ return salary; } public void setSalary(double salary){ this.salary = salary; } public static void main(String[] args) { // TODO Auto-generated method stub /* * 3.定义一个Employee类,属性:name:String,age:int,salary:double * 把若干Employee对象放在List中, * 排序并遍历输出,排序规则:salary高的在前面,salary相同时age大的在前面,age也相同时按照name升序排列 */ // 录入员工 TestClass em1 = new TestClass("张三丰", 23, 4700.0); TestClass em2 = new TestClass("李寻欢", 27, 5300.0); TestClass em3 = new TestClass("王允", 28, 4700.0); TestClass em4 = new TestClass("赵飞燕", 23, 4700.0); TestClass em5 = new TestClass("令狐冲", 23, 5300.0); TestClass em6 = new TestClass("上官海棠", 27, 6200.0); // 添加到list List<TestClass> list = new ArrayList<TestClass>(); list.add(em1); list.add(em2); list.add(em3); list.add(em4); list.add(em5); list.add(em6); //排序 int a = list.size(); System.out.println(a); for(int j = 0;j<list.size();j++){ for(int i = 0;i<list.size()-1-j;i++){ TestClass emp1 = (TestClass)list.get(i); TestClass emp2 = (TestClass)list.get(i+1); if(emp1.getSalary()<emp2.getSalary()){ list.set(i, emp2); list.set(i+1, emp1); }else if(emp1.getSalary()==emp2.getSalary()){ if(emp1.getAge() < emp2.getAge()){ list.set(i, emp2); list.set(i+1, emp1); } else if(emp1.getAge() == emp2.getAge()){ if(emp1.getName().compareTo(emp2.getName()) >0){ list.set(i, emp2); list.set(i+1, emp1); } } } } } //遍历 Iterator it = list.iterator(); while(it.hasNext()){ TestClass emp = (TestClass)it.next(); System.out.print(emp.getName()+"\t"); System.out.print(emp.getAge()+"\t"); System.out.print(emp.getSalary()+"\t"); System.out.print("\n"); } } }
相关文章推荐
- mp4 box信息实例分析 1
- Designing Efficient Algorithms [Examples]~C - Calculator Conundrum
- MongoDB高级查询详细
- bzoj1607【Usaco2008 Dec】Patting Heads 轻拍牛头
- Class类的信息
- 出差杂谈
- python 入门(4)
- Kali2.0安装小度wifi驱动
- ASP.NET 异步编程
- [TwistedFate]面向对象编程、类和对象、实例变量操作
- iOS瀑布流三种实现思路总结
- 仿美团城市选择
- 位运算符和位运算
- bzoj1606【Usaco2008 Dec】Hay For Sale 购买干草
- 9个妙招增强家庭WIFI信号
- Android Asynchronous Http Client
- 黑马程序员——Java反射
- 1B. Spreadsheets
- 快速创建一个UIBarButtonItem
- parted分区命令实战