TreeMap
典型题:
设计一个文件系统,读数据课输入时间戳,读出想要读取得版本
数据保存在内存当中,从内存读取

红黑树:

java比较器

  1. //一般sort或者priority从小到大排序,如果输入是(o1, o2)就是return o1.val - o2.val,从大到小排序就是-(o1.val - o2.val)
  2. Comparator com = new Comparator() {
  3. //指明商品比较大小的方式:照产品名称从低到高排序,再照价格从高到低排序
  4. @Override
  5. public int compare(Object o1, Object o2) {
  6. if(o1 instanceof Goods && o2 instanceof Goods){
  7. Goods g1 = (Goods)o1;
  8. Goods g2 = (Goods)o2;
  9. if(g1.getName().equals(g2.getName())){
  10. return -Double.compare(g1.getPrice(),g2.getPrice());
  11. }else{
  12. return g1.getName().compareTo(g2.getName());
  13. }
  14. }
  15. throw new RuntimeException("输入的数据类型不一致");
  16. }
  17. }