• TreeMap使用和Comparable比较


    package com.mengge.test;
    
    import java.util.Map;
    import java.util.TreeMap;;
    
    public class TestTreeMap {
    	
    	public static void main(String[] args) {
    //		Map<Integer, String> myMap = new TreeMap<Integer, String>();
    		
    //		Map<Integer, String> map = new java.util.TreeMap<>();
    //				
    //		map.put(1, "列宁");
    //		map.put(3, "斯达克");
    //		map.put(100, "时代大厦");
    //		map.put(22, "阿斯达");
    //		map.put(88, "uuuiw");
    //		
    //		for (Integer keyIndex : map.keySet()) {
    //			System.out.println("key:" + keyIndex + ", value:" + map.get(keyIndex));
    //		}
    
    		
    		MyEmployee mye1 = new MyEmployee(10, "张三", 1000);
    		MyEmployee mye2 = new MyEmployee(90, "李四", 90000);
    		MyEmployee mye3 = new MyEmployee(20, "王五", 3000);
    		MyEmployee mye4 = new MyEmployee(30, "赵六", 3000);
    		MyEmployee mye5 = new MyEmployee(900, "王五", 9000);
    		MyEmployee mye6 = new MyEmployee(80, "王七", 7000);
    		MyEmployee mye7 = new MyEmployee(22, "王八", 90000);
    		MyEmployee mye8 = new MyEmployee(9, "王九", 1000);
    
    		Map<MyEmployee, Integer> objectMap = new TreeMap<MyEmployee, Integer>();
    		objectMap.put(mye1, mye1.getNid());
    		objectMap.put(mye2, mye2.getNid());
    		objectMap.put(mye3, mye3.getNid());
    		objectMap.put(mye4, mye4.getNid());
    		objectMap.put(mye5, mye5.getNid());
    		objectMap.put(mye6, mye6.getNid());
    		objectMap.put(mye7, mye7.getNid());
    		objectMap.put(mye8, mye8.getNid());
    		
    		
    		for (MyEmployee emp : objectMap.keySet()) {
    			System.out.println("姓名:" + emp.getName() + ", 薪资:" + emp.getSalary() + ", id:" + emp.getNid());
    		}
    		
    		
    		
    	}
    
    }
    
    
    class MyEmployee implements Comparable<MyEmployee> {
    	private int nid;
    	private String name;
    	private double salary;
    	public MyEmployee(int nid, String name, double salary) {
    		super();
    		this.nid = nid;
    		this.name = name;
    		this.salary = salary;
    	}
    	public int getNid() {
    		return nid;
    	}
    	public void setNid(int nid) {
    		this.nid = nid;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public double getSalary() {
    		return salary;
    	}
    	public void setSalary(double salary) {
    		this.salary = salary;
    	}
    	
    	@Override
    	public int compareTo(MyEmployee o) {
    		
    		if (this.salary < o.salary) {
    			return -1;
    		}else if (this.salary > o.salary) {
    			return 1;
    		}else {
    			 if (this.nid < o.nid) {
    					return -1;
    				}else if (this.nid > o.nid) {
    					return 1;
    				}else {
    					return 0;
    				}
    		}
    	}
    	
    	
    }
    
  • 相关阅读:
    芯片手冊写错了,非常悲剧
    编程之美读书笔记1.8
    贪心算法
    codeforces Looksery Cup 2015 D. Haar Features
    NS3网络仿真(5): 数据包分析
    hdu1116 Play on Words--并查集
    程序猿生存定律-六个程序猿的故事(2)
    保存Activity的状态
    9月份入读哈工大计算机研究生了
    leetcode第一刷_Same Tree
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/11290424.html
Copyright © 2020-2023  润新知