TreeMap排序

public class student {
	String num,name;
	double height,weight,java成绩,数据结构成绩;
	student(String num,String name,double height,double weight,double java成绩,double 数据结构成绩){
		this.num=num;
		this.name=name;
		this.height=height;
		this.weight=weight;
		this.java成绩=java成绩;
	    this.数据结构成绩=数据结构成绩;
	}
}
public class key {
	String name;
	double height,java成绩,数据结构成绩;
	key(String name,double height,double java成绩,double 数据结构成绩){
		this.name=name;
		this.height=height;
		this.java成绩=java成绩;
	    this.数据结构成绩=数据结构成绩;
	}
	/*public class key implements Comparable<Object>
	public int compareTo(Object b){
		key k=(key)b;
		if((this.java成绩+this.数据结构成绩)-(k.java成绩+k.数据结构成绩)!=0)
			return (int)((this.java成绩+this.数据结构成绩)-(k.java成绩+k.数据结构成绩));
		else if(!this.name.equals(k.name))//return 1;
			return this.name.compareTo(k.name); 
		else return (int)(this.height-height);
	}*/
}
import java.util.*;
public class treemap {
	public static void main(String[] args) {
		student s1=new student("1","张三",175,65,75,75),
		        s2=new student("2","李四",169,61,71,81),
		        s3=new student("3","王五",171,59,69,81),
		        s4=new student("4","张三",170,60,70,80),
		        s5=new student("5","朱六",174,76,80,83);
		//TreeMap<key, student> treemap=new TreeMap<key,student>();
		TreeMap<key,student> treemap = new TreeMap<key, student>(new Comparator<key>(){  
			 public int compare(key o1, key o2){
			      if((o1.java成绩+o1.数据结构成绩)-(o2.java成绩+o2.数据结构成绩)!=0)
			           return (int)((o1.java成绩+o1.数据结构成绩)-(o2.java成绩+o2.数据结构成绩));
		          else if(!o1.name.equals(o2.name))
			           return o1.name.compareTo(o2.name); 
		          else return (int)(o1.height-o2.height); 
			 }
		});
		treemap.put(new key(s1.name,s1.height,s1.java成绩,s1.数据结构成绩), s1);
		treemap.put(new key(s2.name,s2.height,s2.java成绩,s2.数据结构成绩), s2);
		treemap.put(new key(s3.name,s3.height,s3.java成绩,s3.数据结构成绩), s3);
		treemap.put(new key(s4.name,s4.height,s4.java成绩,s4.数据结构成绩), s4);
		treemap.put(new key(s5.name,s5.height,s5.java成绩,s5.数据结构成绩), s5);
		System.out.println("qweqwrwrw:");
		
		Collection<student> col=treemap.values();
		Iterator<student>iter =col.iterator();
		while(iter.hasNext()){
			student s0=iter.next();
			System.out.println(s0.num+" "+s0.name+" "+s0.height+" "+s0.weight+" "+s0.java成绩+" "+s0.数据结构成绩);			
		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值