zoukankan      html  css  js  c++  java
  • 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;
    				}
    		}
    	}
    	
    	
    }
    
  • 相关阅读:
    Linux08:帮助与常用快捷键
    Android : 跟我学Binder --- (5) C++实现
    Linux应用调试 :使用gdb和gdbserver进行远程调试
    Mosquitto-1.5在Linux上的安装以及Android客户端的实现
    MySQL-8.0.15在Win10和Ubuntu上安装&使用
    Android : 跟我学Binder --- (4) 驱动情景分析
    Android : Android Studio 更新至gradle 4.10.1后Variants API变化
    Android : 跟我学Binder --- (3) C程序示例
    Android : 关于HTTPS、TLS/SSL认证以及客户端证书导入方法
    Android : 跟我学Binder --- (2) AIDL分析及手动实现
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/11290424.html
Copyright © 2011-2022 走看看