compareto方法实现(java中compareto实现学生成绩排列)

2026-04-28 01:00:02 :0

compareto方法实现(java中compareto实现学生成绩排列)

大家好,今天小编来为大家解答以下的问题,关于compareto方法实现,java中compareto实现学生成绩排列这个很多人还不知道,现在让我们一起来看看吧!

本文目录

java中compareto实现学生成绩排列

***隐藏网址***
/link?url=2rAgZUjzEjnNl4fs35zYj7ccp6nxbBT3uIRhfkwUNpfvgRsMxBlB20Zyjmy7g9Tr_s83-IKIyEABYwOnZzLrqq

步骤:

1、主要是实现Comparable接口

2、重写compareTo方法

照着这:


        public int compareTo (Student arg) {
                if (id 》 arg.id)
                        return 1;
                else if (id == arg.id)
                        return 0;
                else
                        return -1;
        }

这写,放到集合TreeSet里面的时候会自动比较,然后有序存储的!

代码中是怎么调用compareTo方法的

这种东西楼主看TreeSet的源码
TreeSet的底层实现其实是TreeMap在每次add的时候也就是调用TreeMap的put方法
这时如果有外部比较器Comparator的实现就会调用外部的Comparator的比较方法,
如果没有就会调用实现Comparable接口的类的compareTo方法
Set不允许有重复的元素,所以使用add()方法是,在方法内部会调用对象的compareTo方法以判断两个对象是否相等
排序的时候在比较两个对象时用compareTo方法.
import java.util.Arrays;
class AlohaPerson implements Comparable《AlohaPerson》 {
private String name;
AlohaPerson(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
@Override
public int compareTo(AlohaPerson o) {
return this.name.compareTo(o.name);
}
}
public class Aloha {
public static void sort(AlohaPerson persons) {
// 用选择排序法排序
for (int i = 0; i 《 persons.length - 1; ++i) {
int k = i;
for (int j = k; j 《 persons.length; ++j) {
// 排序的时候在比较两个对象时用compareTo方法.
if (persons) 《 0) {
k = j;
}
}
if (k != i) {
AlohaPerson temp = persons;
persons;
persons = temp;
}
}
}
public static void main(String args) {
AlohaPerson persons = {
new AlohaPerson("Bob"),
new AlohaPerson("John"),
new AlohaPerson("Smith"),
new AlohaPerson("Alpha"),
new AlohaPerson("Beta")
};
System.out.println(Arrays.toString(persons));
sort(persons);
System.out.println(Arrays.toString(persons));
}
}
输出
要是还不能解决?
你来我们群里说吧
这里是开发者互相学习交流的
有大神
让他们给你解释你的疑问 q un号: 188168040

请问Java中如何用compareTo方法对集合进行排序啊

import java.util.*;
class Student implements Comparable
{
public String sName;
public Student()
{

}
public Student(String sName)
{
this.sName=sName;
}
public int compareTo(Object o)//重写compareTo方法
{
Student tempStudent=(Student)o;
String temp=tempStudent.sName;
return this.sName.compareTo(temp); //按字符串sName的顺序排列Student
}
public String toString()
{
return this.sName;
}
}
class fggg {
public static void main(String args)
{
TreeSet ts=new TreeSet();//插入Student对象时,会自动调用compareTo方法
ts.add(new Student("DD"));
ts.add(new Student("CC"));
ts.add(new Student("BB"));
System.out.println(ts);
}
}

Java 怎么用compareTo接口实现排序

package test;
public class Field implements Comparable《Field》 {
    private String name;
    private int age;
    public Field() {
    }
    public Field(String name, int age) {
        this.name = name;
        this.age = age;
    }
    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;
    }
    @Override
    public int compareTo(Field o) {
        // 先按age排序
        if (this.age 》 o.getAge()) {
            return (this.age - o.getAge());
        }
        if (this.age 《 o.getAge()) {
            return (this.age - o.getAge());
        }
        // 按name排序
        if (this.name.compareTo(o.getName()) 》 0) {
            return 1;
        }
        if (this.name.compareTo(o.getName()) 《 0) {
            return -1;
        }
        return 0;
    }
}

关于compareto方法实现和java中compareto实现学生成绩排列的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

compareto方法实现(java中compareto实现学生成绩排列)

本文编辑:admin

更多文章:


细胞之间的interaction(细胞间相互作用方式有什么 有什么区别)

细胞之间的interaction(细胞间相互作用方式有什么 有什么区别)

大家好,细胞之间的interaction相信很多的网友都不是很明白,包括细胞间相互作用方式有什么 有什么区别也是一样,不过没有关系,接下来就来为大家分享关于细胞之间的interaction和细胞间相互作用方式有什么 有什么区别的一些知识点,

2026年5月26日 18:45

powder是什么刷子(rt化妆刷怎么样Real Techniques化妆刷怎么样)

powder是什么刷子(rt化妆刷怎么样Real Techniques化妆刷怎么样)

大家好,今天小编来为大家解答以下的问题,关于powder是什么刷子,rt化妆刷怎么样Real Techniques化妆刷怎么样这个很多人还不知道,现在让我们一起来看看吧!本文目录rt化妆刷怎么样Real Techniques化妆刷怎么样zo

2025年5月28日 07:15

u16女足亚洲杯直播(女足亚洲杯半决赛时间直播什么平台能看)

u16女足亚洲杯直播(女足亚洲杯半决赛时间直播什么平台能看)

这篇文章给大家聊聊关于u16女足亚洲杯直播,以及女足亚洲杯半决赛时间直播什么平台能看对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录女足亚洲杯半决赛时间直播什么平台能看哪里有直播中国女子足球队对日本女足亚洲杯半决赛时间直播什么

2026年4月9日 20:45

excel教程进阶(小白学Excel之操作中的常用技巧-Excel学习网)

excel教程进阶(小白学Excel之操作中的常用技巧-Excel学习网)

这篇文章给大家聊聊关于excel教程进阶,以及小白学Excel之操作中的常用技巧-Excel学习网对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录小白学Excel之操作中的常用技巧-Excel学习网EXCEL制作表格技巧Exc

2026年4月22日 12:45

怎么读return(returned怎么读)

怎么读return(returned怎么读)

本篇文章给大家谈谈怎么读return,以及returned怎么读对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录returned怎么读ret

2025年6月13日 01:45

结构体数组交换位置(c语言编程:将一个数组中的值按逆序重新存放,例如,原来顺序为8,6,5,4,3,要求改为3,4,5)

结构体数组交换位置(c语言编程:将一个数组中的值按逆序重新存放,例如,原来顺序为8,6,5,4,3,要求改为3,4,5)

这篇文章给大家聊聊关于结构体数组交换位置,以及c语言编程:将一个数组中的值按逆序重新存放,例如,原来顺序为8,6,5,4,3,要求改为3,4,5对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录c语言编程:将一个数组中的值按逆序

2025年9月14日 12:00

哪些cms可以做小说站(Wordpress、Discuz、KingCMS、MediaWiki各适合建什么样的站)

哪些cms可以做小说站(Wordpress、Discuz、KingCMS、MediaWiki各适合建什么样的站)

本篇文章给大家谈谈哪些cms可以做小说站,以及Wordpress、Discuz、KingCMS、MediaWiki各适合建什么样的站对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录Wordpress、Discuz、KingCM

2026年7月24日 05:30

chief用法(chef是什么意思)

chief用法(chef是什么意思)

其实chief用法的问题并不复杂,但是又很多的朋友都不太了解chef是什么意思,因此呢,今天小编就来为大家分享chief用法的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录chef是什么意思chef和chief的

2026年8月29日 03:15

countif是计算什么的(excel中countif函数的功能是什么)

countif是计算什么的(excel中countif函数的功能是什么)

大家好,countif是计算什么的相信很多的网友都不是很明白,包括excel中countif函数的功能是什么也是一样,不过没有关系,接下来就来为大家分享关于countif是计算什么的和excel中countif函数的功能是什么的一些知识点,

2025年5月29日 21:15

html5可以用在哪些方面(html5可以用来干什么,应用于哪些领域发展前景如何)

html5可以用在哪些方面(html5可以用来干什么,应用于哪些领域发展前景如何)

大家好,今天小编来为大家解答以下的问题,关于html5可以用在哪些方面,html5可以用来干什么,应用于哪些领域发展前景如何这个很多人还不知道,现在让我们一起来看看吧!本文目录html5可以用来干什么,应用于哪些领域发展前景如何html5技

2026年3月11日 15:30

什么不是数据库系统的特点(急求解答题目 :什么不是数据库系统阶段的特点等)

什么不是数据库系统的特点(急求解答题目 :什么不是数据库系统阶段的特点等)

今天给各位分享急求解答题目 :什么不是数据库系统阶段的特点等的知识,其中也会对急求解答题目 :什么不是数据库系统阶段的特点等进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录急求解答题目 :什么不是数据库系统阶段

2025年7月23日 08:45

运算放大器权威指南第五版(单电源运放和双电源运放有什么区别)

运算放大器权威指南第五版(单电源运放和双电源运放有什么区别)

其实运算放大器权威指南第五版的问题并不复杂,但是又很多的朋友都不太了解单电源运放和双电源运放有什么区别,因此呢,今天小编就来为大家分享运算放大器权威指南第五版的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录单电源

2026年5月1日 20:15

流程图的意思流程图的意思是什么?如何画一个简单的程序流程图

流程图的意思流程图的意思是什么?如何画一个简单的程序流程图

大家好,今天小编来为大家解答以下的问题,关于流程图,流程图的意思流程图的意思是什么这个很多人还不知道,现在让我们一起来看看吧!本文目录流程图的意思流程图的意思是什么如何画一个简单的程序流程图一个c语言的流程图 是关于判断素数的 看不太懂 麻

2025年10月13日 11:30

函数图像生成器 网页(有没有一种软件,当你输入数学公式后,软件就可以生成相应的图形(平面的或三维的))

函数图像生成器 网页(有没有一种软件,当你输入数学公式后,软件就可以生成相应的图形(平面的或三维的))

这篇文章给大家聊聊关于函数图像生成器 网页,以及有没有一种软件,当你输入数学公式后,软件就可以生成相应的图形(平面的或三维的)对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录有没有一种软件,当你输入数学公式后,软件就可以生成相

2026年5月26日 16:45

thinkphp后台模板(为什么在thinkphp中的模板里只显示html代码,如图)

thinkphp后台模板(为什么在thinkphp中的模板里只显示html代码,如图)

各位老铁们好,相信很多人对thinkphp后台模板都不是特别的了解,因此呢,今天就来为大家分享下关于thinkphp后台模板以及为什么在thinkphp中的模板里只显示html代码,如图的问题知识,还望可以帮助大家,解决大家的一些困惑,下面

2025年7月25日 16:45

电商程序源码(有没有卖java电商源码的)

电商程序源码(有没有卖java电商源码的)

本篇文章给大家谈谈电商程序源码,以及有没有卖java电商源码的对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录有没有卖java电商源码的电商直播系统源码都要实现哪些功能需求淘宝卖程序源码选什么类目社交电商系统需要连源码一起买么

2025年11月29日 16:00

webservice部署在服务器(如何部署java webservice)

webservice部署在服务器(如何部署java webservice)

各位老铁们好,相信很多人对webservice部署在服务器都不是特别的了解,因此呢,今天就来为大家分享下关于webservice部署在服务器以及如何部署java webservice的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起

2025年12月16日 21:15

decimal转换为int(C#中怎样将decimal转int)

decimal转换为int(C#中怎样将decimal转int)

各位老铁们,大家好,今天由我来为大家分享decimal转换为int,以及C#中怎样将decimal转int的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本

2025年6月3日 04:30

java的graphics详解(Java的Graphics类应该怎么用)

java的graphics详解(Java的Graphics类应该怎么用)

大家好,java的graphics详解相信很多的网友都不是很明白,包括Java的Graphics类应该怎么用也是一样,不过没有关系,接下来就来为大家分享关于java的graphics详解和Java的Graphics类应该怎么用的一些知识点,

2026年8月9日 23:00

serioussam作弊器(英雄萨姆2作弊码不管用啊)

serioussam作弊器(英雄萨姆2作弊码不管用啊)

本篇文章给大家谈谈serioussam作弊器,以及英雄萨姆2作弊码不管用啊对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录英雄萨姆2作弊码不管用啊英雄萨姆2作弊英雄萨姆2作弊码不管用啊先进入游戏,在标题画面下按住SHIFT不放

2026年5月25日 15:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索