BeanComparator的compare方法的排序规则是什么?

跳蚤图 2013-07-23 04:48:10
方法定义:
public int compare( Object o1, Object o2 ) {

我用英文字母,数字,日文平假名,片假名组成一个collection,然后用上述语句给这个collection排序。

原来的顺序
ab
bc
what
うつ
789
12345
システム



升序排序后的结果:
12345
789
ab
bc
what

うつ

システム

谁能总结一下规律,这个方法到底是按照什么规则排序的?出来这个结果是什么依据啊?

源代码也看不出来是怎么回事。

ps:没重写这个方法,直接用的jar包里的。
...全文
311 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh_Maxy 2013-07-24
  • 打赏
  • 举报
回复
引用 5 楼 feier00 的回复:
[quote=引用 3 楼 oh_Maxy 的回复:] 如果API也满足不了你,可以用反编译工具看看它的具体实现。
看了,但是只能进到compare方法这一层,再往下就进不去了,debug按F5直接跳出来。[/quote] 静态的看吧,不需要debug的。
跳蚤图 2013-07-24
  • 打赏
  • 举报
回复
引用 1 楼 rencht 的回复:
从第一个字符开始,按ASCII码排序啦^_^
我开始也是这么想的。但是找不到ASCII码表来验证,比如上面所有的数字,字母,日文能在哪儿查到各自的ASCII码呢?
跳蚤图 2013-07-24
  • 打赏
  • 举报
回复
引用 3 楼 oh_Maxy 的回复:
如果API也满足不了你,可以用反编译工具看看它的具体实现。
看了,但是只能进到compare方法这一层,再往下就进不去了,debug按F5直接跳出来。
S117 2013-07-24
  • 打赏
  • 举报
回复
应该是按字符串排序了!
oh_Maxy 2013-07-23
  • 打赏
  • 举报
回复
如果API也满足不了你,可以用反编译工具看看它的具体实现。
长笛党希望 2013-07-23
  • 打赏
  • 举报
回复
根据jdk文档所描述的: 根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此外,列表中的所有元素都必须是可相互比较的(也就是说,对于列表中的任何 e1 和 e2 元素,e1.compareTo(e2) 不得抛出 ClassCastException)。 此排序方法具有稳定性:不会因调用 sort 方法而对相等的元素进行重新排序。 指定列表必须是可修改的,但不必是大小可调整的。 该排序算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素小于高子列表中的最低元素,则忽略合并)。此算法提供可保证的 n log(n) 性能。 此实现将指定列表转储到一个数组中,并对数组进行排序,在重置数组中相应位置处每个元素的列表上进行迭代。这避免了由于试图原地对链接列表进行排序而产生的 n2 log(n) 性能。
rencht 2013-07-23
  • 打赏
  • 举报
回复
从第一个字符开始,按ASCII码排序啦^_^
内容概要:本文围绕基于下垂系数功率分配的双机并联虚拟同步发电机(VSG)微电网黑启动控制开展研究,重点利用Simulink仿真平台构建系统模型,实现微电网在无外部电网支撑条件下的自主启动与稳定运行。研究通过引入VSG技术模拟同步发电机的惯性和阻尼特性,结合下垂控制策略实现双机并联系统在黑启动过程中的有功与无功功率协调分配,有效抑制电压频率波动和功率振荡问题。文中详细阐述了控制系统的架构设计、核心控制环路的实现方式、关键参数的整定方法,并通过仿真结果验证了所提出控制策略在动态响应、负载突变及系统恢复等方面的优越性能,为提升微电网的自主恢复能力与供电可靠性提供了有效的技术路径。; 适合人群:具备电力系统、电力电子与自动控制等相关专业知识背景,熟悉Simulink/MATLAB仿真环境,从事微电网、分布式能源系统、VSG控制等领域研究的科研人员、高校教师及硕士、博士研究生。; 使用场景及目标:①深入理解虚拟同步发电机(VSG)的工作原理及其在黑启动中的应用价值;②掌握基于下垂控制的双机并联系统功率均分与稳定控制技术;③构建完整的微电网黑启动仿真模型,服务于科研论文撰写、课题申报、实验教学或工程预研。; 阅读建议:此资源以仿真为核心手段,建议读者在学习过程中结合理论分析,动手搭建Simulink模型,逐步调试控制器参数,深入探究下垂系数、虚拟惯量等关键参数对系统动态性能的影响,并可进一步拓展至多机并联、含储能单元或复杂负载工况的场景进行深化研究。

67,536

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧