package com.bjpowernode.demo01;
import java.util.Comparator;
import java.util.TreeMap;
public class Test08 {
public static void main(String[] args) {
TreeMap<String, Integer> treeMap = new TreeMap<>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1 );
}
});
treeMap.put("lisi", 2000);
treeMap.put("feifei", 6000);
treeMap.put("dubin", 1000);
treeMap.put("wang", 500);
System.out.println( treeMap );
TreeMap<String, Integer> treeMap2 = new TreeMap<>();
treeMap2.putAll(treeMap);
System.out.println( treeMap2 );
}
}
package com.bjpowernode.demo01;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
public class Test09 {
public static void main(String[] args) {
HashMap<Computer, String> hashMap = new HashMap<>();
hashMap.put(new Computer("lenovo", 5800, 17), "jd");
hashMap.put(new Computer("thinkPad", 9800, 15), "tmall");
hashMap.put(new Computer("dell", 6800, 15), "taobao");
hashMap.put(new Computer("iMac", 15800, 15), "gome");
System.out.println( hashMap );
Computer lenovo = new Computer("lenovo", 5800, 17);
System.out.println( hashMap.containsKey(lenovo));
TreeMap<Computer, String> treeMap = new TreeMap<>(hashMap);
System.out.println( treeMap );
Computer hp = new Computer("hp", 6800, 17);
System.out.println( treeMap.containsKey( hp ));
}
}
class Computer implements Comparable<Computer>{
String brand;
int price;
double size;
@Override
public String toString() {
return " [" + brand + ", price=" + price + ", size=" + size + "]";
}
public Computer(String brand, int price, double size) {
super();
this.brand = brand;
this.price = price;
this.size = size;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((brand == null) ? 0 : brand.hashCode());
result = prime * result + price;
long temp;
temp = Double.doubleToLongBits(size);
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Computer other = (Computer) obj;
if (brand == null) {
if (other.brand != null)
return false;
} else if (!brand.equals(other.brand))
return false;
if (price != other.price)
return false;
if (Double.doubleToLongBits(size) != Double.doubleToLongBits(other.size))
return false;
return true;
}
@Override
public int compareTo(Computer o) {
return this.price - o.price;
}
}