java排序两个数组_java – 如何相对于彼此排序两个数组.
由于这两个值紧密耦合在一起,我实际上会编写一个自定义类来包含信息,然后对这些类进行排序,而不是使用原始数组.这样做会让你对许多可能的错误开放.
这样可以更好地控制,数据封装以及将来可能包含哪些方法或数据的扩展.
public class MyDistance implements Comparable {
private String placename;
private double mileage;
public MyDistance(String placename, double milage) {
this.placename = placename;
this.milage = milage;
}
public String getPlacename() {
return this.placename;
}
public double getMilage() {
return this.milage;
}
@Override
public int compareTo(MyDistance anotherDistance)
{
return milage.compareTo(anotherDistance.getMilage());
}
}
如果您希望在排序方面有更大的灵活性,那么您可以编写自定义Comparator< MyDistance>而不是让您的MyDistance类实现Comparable.类:
public class DistanceComparator extends Comparator {
@Override
public int compare(MyDistance dist1, MyDistance dist2) {
return dist1.getMilage().compareTo(dist2.getMilage());
}
}
您可以使用此比较器使用集合进行排序:
List distanceList = getDistanceListSomehow();
Collections.sort(distanceList, new DistanceComparator());
您不仅限于List,我只是将其用于解释目的.您应该查看Java Collections types的全部范围,以便最好地选择适合您目的的一个.但作为建议,ArrayList类型易于使用并保留您想要的顺序.
java排序两个数组_java – 如何相对于彼此排序两个数组.相关推荐
- java最全基础知识_Java编程入门,计数排序(Counting Sort)怎么做?
计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中. 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数. 计数排序(Counting sort)是一种稳定的排 ...
- 遍历二维数组_Java编程基础阶段笔记 day06 二维数组
二维数组 笔记Notes 二维数组 二维数组声明 二维数组静态初始化与二位初始化 二维数组元素赋值与获取 二维数组遍历 二维数组内存解析 打印杨辉三角 Arrays工具类 数组中常见的异常 二维数组 ...
- java最全基础知识_Java编程入门,选择排序(Selection Sort)怎么做?
表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好.唯一的好处可能就是不占用额外的内存空间了吧.理论上讲,选择排序可能也是平时排序一般人想到的 ...
- java校验码的设计_Java动态验证码单线设计的两种方法
1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了 ...
- java sort()怎么实现的_Java中Array.sort()的排序原理
People[]people={newPeople("小飞飞","2","2:41:28"),newPeople("小国" ...
- JAVA中string的赋值_Java中关于String赋值的两种形式
说明: String在java中是使用频率很高的一个类,之前使用的时候并没有过多的在意,只知道有两种赋值方式,一种是采用字面值方式(String string1 = "string" ...
- java float四舍五入保留两位小数_java基础入门-float四舍五入保留两位小数注意的地方...
float四舍五入保留两位小数注意的地方 最近在codewars做了一道非常简单的题目,但是它却花了我20来分钟,虽然最后解决了,但是中间发觉对于java的基础实在不行,回去要好好补一下 不说这么多, ...
- java double 小数点后两位小数_java实现double保留小数点后两位小数
一.返回double型的 1.能四舍五入double d = 114.145; d = (double) Math.round(d * 100) / 100; System.out.println(d ...
- java中负数取整_Java取整,固定保留两位小数,适配负数、金融数字。
文/阿敏其人 本文出自阿敏其人博客,转载请注明出处和连接. 整数前的0去掉. 小数固定保留两位小数 兼容负数 数字检测 适配金融大数额 核心类 public class BigDecimalStrin ...
最新文章
- python如何获取信息_如何使用Python获取系统信息?
- 使用ASM 4处理Java类文件–第一部分:世界,您好!
- 用面包分析数学定律,数学老师成网红
- javascript框架比较(二)
- 散列函数之双重散列算法解决冲突问题
- golang的定时任务
- 控制图的绘制步骤_实战!脚手架排布图绘制步骤和技巧讲解!图文展示
- paip.mysql fulltext 全文搜索.最佳实践.
- vb调用c语言程序,用VB编写程序,求S=A!+B!+C!,阶乘的计算分别用Sub过程和Function过程两种方法来实现...
- C++独立游戏存档模块设计 VERSION_1.7
- 深度学习与PyTorch入门实战教程
- JAVA求素数和模拟条件
- 药物研发企业用哪个项目管理软件好?
- 如何让Loadrunner或Jmeter发送邮件报告
- python弹球游戏添加一个球_Python实现的弹球小游戏示例
- Codeforce 1296 C. Yet Another Walking Robot
- 编译原理复习(5)语法分析--自下而上分析
- Android程序打包安装过程
- 快速开发分享功能,一键分享到微博、微信等平台。
- 相对寻址方式与变址寻址方式的区别与联系
热门文章
- 【渝粤教育】国家开放大学2018年春季 0222-22T模拟电子电路 参考试题
- 【渝粤教育】国家开放大学2018年春季 0299-22T中国古代文学(1) 参考试题
- 【渝粤题库】陕西师范大学202801 中国古代文学(五) 作业
- 【渝粤题库】国家开放大学2021春2542行政组织学题目
- 哈工大三本计算机考研,纯干货【普通三本逆袭哈工大】—城市规划考研必胜经验...
- 减小程序规模!稀疏数组Sparsearray,数据结构二维数组与稀疏数组转换,Java实现
- Verilog HDL中模块参数传递的方法
- 开源PagerSlidingTabStrip的使用Tab与ViewPager的完美结合
- python实现微信小程序的接口自动化_appium+python自动化56-微信小程序自动化(摩拜为例)...
- a8处理器相当于骁龙几_天玑820相当于骁龙什么处理器?天梯图秒懂联发科天玑820性能排名...