Arraylist集合三种排序,arraylist集合排序
分享于 点击 41206 次 点评:229
Arraylist集合三种排序,arraylist集合排序
将员工存储到Arraylist集合中,先后按照工资、年龄、名字来排序
员工类
public class Employee {
private String name; //姓名
private int age; //年龄
private double salary; //名字
public Employee(String name, int age, double salary) {
super();
this.name = name;
this.age = age;
this.salary = salary;
}
public Employee() {
super();
}
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;
}
@Override
public String toString() {
return "姓名:" + name + ", 年龄" + age + ", 工资:" + salary;
}
}
测试类
package paixu;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
Employee e1 = new Employee("Alis",24,3070);
Employee e2 = new Employee("tom",28,3030);
Employee e3 = new Employee("Jack",25,3000);
Employee e4 = new Employee("Lily",19,3500);
Employee e5 = new Employee("Mike",23,3040);
Employee e6 = new Employee("Bobo",24,2000);
List<Employee> list = new ArrayList<Employee>();
list.add(e1);
list.add(e2);
list.add(e3);
list.add(e4);
list.add(e5);
list.add(e6);
for (Employee e : list) {
System.out.println(e);
}
System.out.println("========排序后=========");
for (int i = 1; i < list.size(); i++) {
for (int j = 0; j < list.size() - 1; j++) {
Employee emp1 = list.get(j);
Employee emp2 = list.get(j+1);
//收入比较
if(emp1.getSalary() < emp2.getSalary()){
list.set(j, emp2);
list.set(j+1, emp1);
}else if(emp1.getSalary() == emp2.getSalary()){
//比较年龄
if(emp1.getAge() < emp2.getAge()){
list.set(j, emp2);
list.set(j+1, emp1);
}else if(emp1.getAge() == emp2.getAge()){
//按比较规则比较名字
if(emp1.getName().compareTo( emp2.getName())>0){
list.set(j, emp2);
list.set(j+1, emp1);
}
}
}
}
}
//遍历
for (Employee e : list) {
System.out.println(e);
}
}
}
相关文章
- 暂无相关文章
用户点评