问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java编写求两种方法

发布网友 发布时间:2022-04-24 10:03

我来回答

1个回答

热心网友 时间:2023-10-09 18:30

要比较对象,需要实现Compareable接口,实现里面compareTo的方法,然后使用Collections工具类里面的sort方法进行比较,

其中compareTo返回值大于0 可以理解成“降序”大的那个排前面,反之“升序”,等于0就说明两个比较对象相等

下面是实例(比较字符串不是比较拼音,如果要比较拼音只是将他的名字转拼音排序,原理一样)

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class SortTest {
static String base = "\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u7740\u4e2a\u5730\u5230\u5927\u91cc\u8bf4\u5c31\u53bb\u5b50\u5f97\u4e5f\u548c\u90a3\u8981\u4e0b\u770b\u5929\u65f6\u8fc7\u51fa\u5c0f\u4e48\u8d77\u4f60\u90fd\u628a\u597d\u8fd8\u591a\u6ca1\u4e3a\u53c8\u53ef\u5bb6\u5b66\u53ea\u4ee5\u4e3b\u4f1a\u6837\u5e74\u60f3\u751f\u540c\u8001\u4e2d\u5341\u4ece\u81ea\u9762\u524d\u5934\u9053\u5b83\u540e\u7136\u8d70\u5f88\u50cf\u89c1\u4e24\u7528\u5979\u56fd\u52a8\u8fdb\u6210\u56de\u4ec0\u8fb9\u4f5c\u5bf9\u5f00\u800c\u5df1\u4e9b\u73b0\u5c71\u6c11\u5019\u7ecf\u53d1\u5de5\u5411\u4e8b\u547d\u7ed9\u957f\u6c34\u51e0\u4e49\u4e09\u58f0\u4e8e\u9ad8\u624b\u77e5\u7406\u773c\u5fd7\u70b9\u5fc3\u6218\u4e8c\u95ee\u4f46\u8eab\u65b9\u5b9e\u5403\u505a\u53eb\u5f53\u4f4f\u542c\u9769\u6253\u5462\u771f\u5168\u624d\u56db\u5df2\u6240\u654c\u4e4b\u6700\u5149\u4ea7\u60c5\u8def\u5206\u603b\u6761\u767d\u8bdd\u4e1c\u5e2d\u6b21\u4eb2\u5982\u88ab\u82b1\u53e3\u653e\u513f\u5e38\u6c14\u4e94\u7b2c\u4f7f\u5199\u519b\u5427\u6587\u8fd0\u518d\u679c\u600e\u5b9a\u8bb8\u5feb\u660e\u884c\u56e0\u522b\u98de\u5916\u6811\u7269\u6d3b\u90e8\u95e8\u65e0\u5f80\u8239\u671b\u65b0\u5e26\u961f\u5148\u529b\u5b8c\u5374\u7ad9\u4ee3\u5458\u673a\u66f4\u4e5d\u60a8\u6bcf\u98ce\u7ea7\u8ddf\u7b11\u554a\u5b69\u4e07\u5c11\u76f4\u610f\u591c\u6bd4\u9636\u8fde\u8f66\u91cd\u4fbf\u6597\u9a6c\u54ea\u5316\u592a\u6307\u53d8\u793e\u4f3c\u58eb\u8005\u5e72\u77f3\u6ee1\u65e5\u51b3\u767e\u539f\u62ff\u7fa4\u7a76\u5404\u516d\u672c\u601d\u89e3\u7acb\u6cb3\u6751\u516b\u96be\u65e9\u8bba\u5417\u6839\u5171\u8ba9\u76f8\u7814\u4eca\u5176\u4e66\u5750\u63a5\u5e94\u5173\u4fe1\u89c9\u6b65\u53cd\u5904\u8bb0\u5c06\u5343\u627e\u4e89\u9886\u6216\u5e08\u7ed3\u5757\u8dd1\u8c01\u8349\u8d8a\u5b57\u52a0\u811a\u7d27\u7231\u7b49\u4e60\u9635\u6015\u6708\u9752\u534a\u706b\u6cd5\u9898\u5efa\u8d76\u4f4d\u5531\u6d77\u4e03\u5973\u4efb\u4ef6\u611f\u51c6\u5f20\u56e2\u5c4b\u79bb\u8272\u8138\u7247\u79d1\u5012\u775b\u5229\u4e16\u521a\u4e14\u7531\u9001\u5207\u661f\u5bfc\u665a\u8868\u591f\u6574\u8ba4\u54cd\u96ea\u6d41\u672a\u573a\u8be5\u5e76\u5e95\u6df1\u523b\u5e73\u4f1f\u5fd9\u63d0\u786e\u8fd1\u4eae\u8f7b\u8bb2\u519c\u53e4\u9ed1\u544a\u754c\u62c9\u540d\u5440\u571f\u6e05\u9633\u7167\u529e\u53f2\u6539\u5386\u8f6c\u753b\u9020\u5634\u6b64\u6cbb\u5317\u5fc5\u670d\u96e8\u7a7f\u5185\u8bc6\u9a8c\u4f20\u4e1a\u83dc\u722c\u7761\u5174\u5f62\u91cf\u54b1\u89c2\u82e6\u4f53\u4f17\u901a\u51b2\u5408\u7834\u53cb\u5ea6\u672f\u996d\u516c\u65c1\u623f\u6781\u5357\u67aa\u8bfb\u6c99\u5c81\u7ebf\u91ce\u575a\u7a7a\u6536\u7b97\u81f3\u653f\u57ce\u52b3\u843d\u94b1\u7279\u56f4\u5f1f\u80dc\u6559\u70ed\u5c55\u5305\u6b4c\u7c7b\u6e10\u5f3a\u6570\u4e61\u547c\u6027\u97f3\u7b54\u54e5\u9645\u65e7\u795e\u5ea7\u7ae0\u5e2e\u5566\u53d7\u7cfb\u4ee4\u8df3\u975e\u4f55\u725b\u53d6\u5165\u5cb8\u6562\u6389\u5ffd\u79cd\u88c5\u9876\u6025\u6797\u505c\u606f\u53e5\u533a\u8863\u822c\u62a5\u53f6\u538b\u6162\u53d4\u80cc\u7ec6";

public static void main(String[] args) {
Random r = new Random();
List<Person_> person_s = new ArrayList<Person_>();
for (int i = 0; i < 50; i++) {
Person_ person_ = new Person_();
person_.setAge(r.nextInt(10)+18);
person_.setId(r.nextInt());
person_.setName(new String(new char[] {
base.charAt(r.nextInt(base.length())),
base.charAt(r.nextInt(base.length())),
base.charAt(r.nextInt(base.length())) }));
person_s.add(person_);
}
System.out.println("排序前:" + person_s);
Collections.sort(person_s);
System.out.println("排序后:" + person_s);
System.out.println("年龄最大的:"+person_s.get(person_s.size()-1));
}
}

class Person_ implements Comparable<Person_> {
private int age;
private int id;
private String name;

public int getAge() {
return age;
}

public int getId() {
return id;
}

public String getName() {
return name;
}

public void setAge(int age) {
this.age = age;
}

public void setId(int id) {
this.id = id;
}

public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "Person_ [age=" + age + ", id=" + id + ", name=" + name + "]";
}

@Override
public int compareTo(Person_ p) {
int result = 0;
if (p.age == this.age) {
result = this.name.compareTo(p.getName());
} else {
result = this.age - p.getAge();
}
return result;
}
}

追问static String base = 那里面字符是什么呀不懂

追答那里面是相对常用的字符Unicode,我只是拿来生成名字

使用java编写代码如下要求

} } //这里是直接设置 public void setMute(boolean mute){ this.mute=mute; } //担心你的题目是要求两种方法,写的第二种,下面两个方法负责开关 public void openMute(){ this.mute=true; /* * 也可以这样写 * setMute(true); * 下边的方法一样 ...

如何使用java求一个数列的和?

其实主要是数列的获取。一般是两种,一个是已经在数组里了,那么遍历数组依次加就行了。另一种是给个数列计算的公式。一般数列是根据当前的序号或者利用上一个计算值来获取。 那么做个循环。依次计算出数列,然后累加就行。

java实现多线程的两种方法

Thread t1=new Thread(){ public void run(){ System.out.println("第一种方法");} };t1.start();Thread t2=new Thread(new Runnable() { public void run() { System.out.println("第二种方法,可实现同类下各线程数据共享");} });t2.start();...

Java进阶:在SE6中调用编译器的两种方法[2]

在使用完getTask后 需要通过 StandardJavaFileManager的getJavaFileObjectsFromFiles或 getJavaFileObjectsFromStrings方法得到pilationUnits对象 调用这两个方法的方式如下 Iterable getJavaFileObjectsFromFiles(Iterable files)Iterable getJavaFileObjectsFromStrings(Iterable names)String[] filenames = …;I...

用java实现,从控制台输入字符串,然后检索出字符串所在的位置,最好用...

Scanner sc=new Scanner(System.in);System.out.println("输入要检测的字符串:");String s=sc.next();System.out.println("输入检测的字符串");String s2=sc.next();System.out.println("结果:"+s.indexOf(s2));

java 求整形数组的各个元素的和,用下面两种方法如何实现呢

package test;public class Test{ public static void main(String[] args) { int[] arr = new int[]{2,3,4,5,6,7,8}; System.out.println(Sum.sum(arr)); System.out.println(Sum2.sum(arr)); } private static class Sum2{ public static int sum(int[]...

JAVA,在程序中声明一个String类型的变量str,采用两种方法为其赋值(“ab...

String str=new String("abc");System.out.println(str.length());String str="abc";System.out.println(str.length());

Java程序编写 在类TestString的主方法中创建String类对象s(Hello_百度...

"); // String s = "Hello World!"; 两种方式 System.out.println("s的长度为:"+s.length()); System.out.println("s的第二个字符为:"+s.charAt(2));//输出的为l,参数是从0开始的 System.out.println("s小写转大写:"+s.toUpperCase()); s = s+" How ar...

Java进阶:SE6调用编译器的两种方法[1]

JavaCompiler中最核心的方法是run 通过这个方法可以编译java源程序 这个方法有 个固定参数和 个可变参数(可变参数是从Jave SE 开始提供的一个新的参数类型 用type… argu表示) 前 个参数分别用来为java编译器提供参数 得到Java编译器的输出信息以及接收编译器的错误信息 后面的可变参数可以传入一个或多...

java编译时提示找不到符号

用MYECLIPSE开发环境 通常情况下,在编写java文件时,会有引用到自已定义的一些类,如果按通常的javac *.java的形式来编译会出现找不到符号的错误。以下提供了两种方法 假如在d:/web/wsh下有a.java和b.java两个文件,在b.java文件中有引用了a.java。下面是编译的方法 1.方法一:进入d:/web/wsh下...

两种方法编写闪烁灯 陈述编写教学目标的两种方法 java编写app实例 编写教学目标的方法 格朗伦提出教学目标编写方法 编写java的软件 java编写记事本程序 用java编写一个记事本程序 java编写登录页面
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
老板燃气灶使用着时间一长。自动灭火 老板燃气灶灭火解决 ...出现“跨站请求伪造攻击,已被拦截!请关闭当前窗口重新打开浏览器... 1.两个数的公因数和两个数的最大公因数之间的关系是什么? 2.如果自然... 交换机怎么查IP地址 桌面右下角的小喇叭不见了?则么弄? CSRF跨站请求伪造 CSRF(跨站请求伪造)简介 什么是 CSRF(跨站请求伪造)? 如何防御它? 132kw电机的摩擦压力机每小时耗电多少度 个人作品集用英文怎么说 java 登陆时的验证码怎么做? 电脑256G固态硬盘够用吗? 翻译高手来 JS 怎么制作数字、字母、汉字混合的验证码 用固态硬盘的亲们 你们256g够用么?做什么用途?要买电脑 不得不考虑这... 谁能帮翻译一下(把中文翻译成英文) \u5b9e\u65f6\u70ed\u70b9 求大神翻译谢谢 256G固态硬盘哪个品牌的好? 我把我的公文包落在了浦东国际机场站上了翻译成英文什么意思? 求这篇英语文章的中文翻译 给电脑安256G固态硬盘够用吗? 时机器人会为我准备好公文包的翻译是:什么意思 包英语怎么说? 公文包法文,公文包法语翻译,公文包法文怎么说,法文 油烟净化器的高压电源总是坏是怎么回事啊 所有包、箱种类的英文名称分别是什么? 油烟净化器的电源为什么用不到一年就坏了? 公文包用英文怎么说? 油烟净化器电源接反了会怎样?油烟机净化器接反了的话当时会烧坏还是要过段时间烧坏_百度问一问 用JAVA做一个网页(注册页) 有匪priest(完结+番外) 百度云 没番外的不要来哦 有谁可以帮我翻译一下 固态硬盘最高是256g吗? &lt;img src=&#39;*.jsp&#39; /&gt;,求高手指点 车流量提升百分比 请高手翻译!谢谢!在线! 256固态硬盘与500G硬盘的区别,学生党,买个能用三年的就差不多了……小白不懂…… 能帮我翻译下面关于箱包的短语和句子吗 怎么用PHP还原这个编码? \u53d6\u7f14\u4f59\u989d\u5b9d 我想报考全国注册动力工程师(锅炉类),但是不知道基础考试与专业考试分别要考哪些内容? 商洛市养老保险个人查询系统 冒险岛075版最新所有物价(七星剑) 手机微信数据恢复用什么软件好?牛学长苹果数据恢复工具好用吗 \u5bf9\u4e0d这类字符是什么编码 &#92;u7126&#92;u70b9&#92;u76f4&#92;u51fb 这是通过什么编码的?.net如何对其进行解码 蓝屏代码stop:0x00000D1 (0xe3212258,0x00000d2,0x0000000,0xb9f67d1a) 什么意思啊 怎么解决呢??? 微信好友删除了,聊天记录也没有了,我试了很多软件,但都是要充钱,有没有不要钱的数据恢复软件? 用微信聊天的时候,不小心把好友的聊天记录清除了,怎么恢复呢? NLP培训到底是干什么的啊?