现在有person类,
person类中有两个属性
String name;
int score;怎样将person类的对象按score排序?
person类中有两个属性
String name;
int score;怎样将person类的对象按score排序?
解决方案 »
- Vector类,不知道add怎么使用。
- 大家说说使用StringBuilder和StringBuffer的经验
- 怎样合并List的问题,很着急!!!!!!!,100分求助
- 作业题又无答案
- 操作zip压缩文件时,要想加减修改其中的zipEntry内容,不改变整个大压缩文件有没有办法?
- java事件监听如何实现?请大家一定要帮我啊!
- 问为什么JDK要在DOS下运行?急!!回答满意给50分
- 处理键盘的事件有哪些方法呀?都是什么呢?
- 请教:用jbuilder7编写程序时,光标显示不正确,请问怎样解决?
- 请教大侠:java 是怎么运行的?
- Integer[] 转 String[] 数组
- 挑战:如何生成多个前缀不重复的二进制数字符串?
public class SaComparator implements Comparator { @Override
public int compare(Object o1, Object o2) {
Person type1 = (Person)o1;
Persont ype2 = (Person)o2;
if(type1.getScore()>type2.getScore()){
return 1;//升序
}else{
return -1;
}
}
}
List<Person> list = new ArrayList<Person>()
list.add(new Person("a",60));
list.add(new Person("b",80));
SaComparator sc = new SaComparator()
list.sort(list,sc);这样就是排序好的
如果到倒序的话type1.getScore()>type2.getScore()的时候返回-1就可以了
import java.util.Set;
import java.util.TreeSet;public class C {
public static void main(String[] args) {
Set<Student> set = new TreeSet<Student>();
Student1 s1, s2, s3;
// 实例化对象
s1 = new Student();
s1.name = "zhangsan";
s1.score = 70;
s2 = new Student();
s2.name = "ls";
s2.score = 60;
s3 = new Student();
s3.name = "ww";
s3.score = 80;
set.add(s1);
set.add(s2);
set.add(s3);
for (Student stu : set) {
System.out.println(stu.score);
}
}}class Student1 implements java.lang.Comparable {
String name; int score; public int compareTo(Object o) {
Student stu = (Student) o;
if (this.score > stu.score) {
return 1;
}
if (this.score == stu.score) {
return 0;
}
return -1;
}
}好像昨天也看到一个以name排序的...
如果要用JAVA来实现的话,那就写个循环
public class Student implements Comparable<Student>
{
public Student(String name ,int score)
{
this.name = name;
this.score = score;
}
public int compareTo(Student other)
{
if(score<other.score)
return -1;
if(score>other.score)
return 1;
else
return 0;
}
public String toString()
{
return "score : "+score+",name : "+name;
}
public static void main(String[] args)
{
Student[] student = new Student[3];
student[0] = new Student("ang san",3);
student[1] = new Student("bruse si",1);
student[2] = new Student("chang hu",9);
Arrays.sort(student);
for(Student s:student)
System.out.println(s);
}
private String name;
private int score;
}