java的arraylist排序示例(arraylist用法)
程序员文章站
2024-02-24 14:01:46
写了一个java数组排序示例,这里分享给大家共同学习复制代码 代码如下:package com.yonyou.test;import java.util.arraylist...
写了一个java数组排序示例,这里分享给大家共同学习
复制代码 代码如下:
package com.yonyou.test;
import java.util.arraylist;
import java.util.collections;
import java.util.comparator;
import java.util.list;
public class test {
public static void main(string[] args) {
student zlj = new student("丁晓宇", 21);
student dxy = new student("赵四", 22);
student cjc = new student("张三", 11);
student lgc = new student("刘武", 19);
list<student> studentlist = new arraylist<student>();
studentlist.add(zlj);
studentlist.add(dxy);
studentlist.add(cjc);
studentlist.add(lgc);
system.out.println("按照年齡排序:");
collections.sort(studentlist, new sortbyage());
for (student student : studentlist) {
system.out.println(student.getname() + " / " + student.getage());
}
system.out.println(" ========= ");
system.out.println("按照姓名排序");
collections.sort(studentlist, new sortbyname());
for (student student : studentlist) {
system.out.println(student.getname() + " / " + student.getage());
}
}
}
class sortbyage implements comparator {
public int compare(object o1, object o2) {
student s1 = (student) o1;
student s2 = (student) o2;
if (s1.getage() > s2.getage())
return 1;
else if (s1.getage() == s2.getage()) {
return 0;
}
return -1;
}
}
class sortbyname implements comparator {
public int compare(object o1, object o2) {
student s1 = (student) o1;
student s2 = (student) o2;
if(s1.getname().compareto(s2.getname()) < 0)
return -1;
else if (s1.getname().compareto(s2.getname()) > 0) {
return 1;
}
return 0;
}
}
class student{
private int age;
private string name;
public int getage() {
return age;
}
public void setage(int age) {
this.age = age;
}
public string getname() {
return name;
}
public void setname(string name) {
this.name = name;
}
public student(string name,int age) {
this.age = age;
this.name = name;
}
}