目标效果:
两个数据,分别根据每种数据进行排序,大部分一上来都会定义一个Map,其中一个存为键,另一个存为值,然后分别按键排序和按指排序,可以实现,但是不算很简单。今天这个题目老师的代码让我耳目一新,我在老师代码的基础上进行了修改,思想是将这两个数据封装为一个类,这个类作为集合的值,而根据哪个数据进行排序,就将它存为键。
代码:
package Five;
import java.util.Collection;
import java.util.Iterator;
import java.util.TreeMap;
/**
* 有10个U盘,有两个重要的属性:价格和容量。
* 编写一个应用程序,使用TreeMap<>类,分别按照价格和容量排序输出10个U盘的详细信息。
* @author Vivinia
*
* 2017年12月25日
*/
//值,容器和价格的封装类
public class Disk {
double amount; //容量
double price; //价格
Disk(double amount,double price){
this.amount=amount;
this.price=price;
}
}
//键,并且重写compareTo方法
class Key implements Comparable{
double key=0;
Key(double key){
this.key=key;
}
@Override
public int compareTo(Object o) {
Key k=(Key)o;
if(this.key==k.key)