package homework05;
import java.util.Iterator;
import java.util.TreeSet;
/*
* 题目:有10个硬盘,有两个重要的属性:价格和容量。编写一个应用程序,使用
* TreeMap<K,V>类,分别按照价格和容量排序并输出10个硬盘的详细信息。
*/
//硬盘类
class HardDisk implements Comparable{
private int price;
private int content;
public static int flag=1;//flag作为按价格还是按容量的标志来排列。1:价格 2:容量
public HardDisk(int price,int content){
this.price=price;
this.content=content;
}
public int compareTo(Object b){
HardDisk hd=(HardDisk)b;
if(flag==1){
return(this.price-hd.price);
}
if(flag==2){
return(this.content-hd.content);
}
return 0;
}
public int getContent() {
return content;
}
public void setContent(int content) {
this.content = content;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
public class Ch07_5 {
public static void main(String[] args) {
HardDisk[] hds={new HardDisk(40,2),new HardDisk(80,25),new HardDisk(200,40),new HardDisk(100,35),
new HardDisk(150,30),new HardDisk(25,1),new HardDisk(250,38),new HardDisk(300,50),
new HardDisk(270,60),new HardDisk(500,200)};
TreeSet<HardDisk> treeSet=new TreeSet<HardDisk>();
for(int i=0;i<hds.length;i++){ //默认按价格高低排序。
treeSet.add(hds[i]);
}
Iterator<HardDisk> iter=treeSet.iterator();
System.out.println("===详细信息===");
System.out.println("价格/t容量");
while(iter.hasNext()){
HardDisk hd=iter.next();
System.out.println(hd.getPrice()+"/t"+hd.getContent());
}
//
treeSet.clear(); //清除treeSet中的内容。
for(int i=0;i<hds.length;i++){ //按容量高低排序。
HardDisk.flag=2;
treeSet.add(hds[i]);
}
Iterator<HardDisk> iter2=treeSet.iterator();
System.out.println("===详细信息===");
System.out.println("容量/t价格");
while(iter2.hasNext()){
HardDisk hd=iter2.next();
System.out.println(hd.getContent()+"/t"+hd.getPrice());
}
}
}
package homework05;
import java.util.Iterator;
import java.util.TreeSet;
/*
* 题目:有10个硬盘,有两个重要的属性:价格和容量。编写一个应用程序,使用
* TreeMap<K,V>类,分别按照价格和容量排序并输出10个硬盘的详细信息。
*/
//硬盘类
class HardDisk implements Comparable{
private int price;
private int content;
public static int flag=1;//flag作为按价格还是按容量的标志来排列。1:价格 2:容量
public HardDisk(int price,int content){
this.price=price;
this.content=content;
}
public int compareTo(Object b){
HardDisk hd=(HardDisk)b;
if(flag==1){
return(this.price-hd.price);
}
if(flag==2){
return(this.content-hd.content);
}
return 0;
}
public int getContent() {
return content;
}
public void setContent(int content) {
this.content = content;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
public class Ch07_5 {
public static void main(String[] args) {
HardDisk[] hds={new HardDisk(40,2),new HardDisk(80,25),new HardDisk(200,40),new HardDisk(100,35),
new HardDisk(150,30),new HardDisk(25,1),new HardDisk(250,38),new HardDisk(300,50),
new HardDisk(270,60),new HardDisk(500,200)};
TreeSet<HardDisk> treeSet=new TreeSet<HardDisk>();
for(int i=0;i<hds.length;i++){ //默认按价格高低排序。
treeSet.add(hds[i]);
}
Iterator<HardDisk> iter=treeSet.iterator();
System.out.println("===详细信息===");
System.out.println("价格/t容量");
while(iter.hasNext()){
HardDisk hd=iter.next();
System.out.println(hd.getPrice()+"/t"+hd.getContent());
}
//
treeSet.clear(); //清除treeSet中的内容。
for(int i=0;i<hds.length;i++){ //按容量高低排序。
HardDisk.flag=2;
treeSet.add(hds[i]);
}
Iterator<HardDisk> iter2=treeSet.iterator();
System.out.println("===详细信息===");
System.out.println("容量/t价格");
while(iter2.hasNext()){
HardDisk hd=iter2.next();
System.out.println(hd.getContent()+"/t"+hd.getPrice());
}
}
}
运行结果:
===详细信息===
价格 容量
25 1
40 2
80 25
100 35
150 30
200 40
250 38
270 60
300 50
500 200
===详细信息===
容量 价格
1 25
2 40
25 80
30 150
35 100
38 250
40 200
50 300
60 270
200 500
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/youshini/archive/2010/03/25/5415460.aspx