TreeMap集合之传入比较器

Posted 简简单单zjl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TreeMap集合之传入比较器相关的知识,希望对你有一定的参考价值。

package com.day15.Map;

import java.util.Comparator;
import java.util.TreeMap;

import com.day15.bean.Student;

public class TreeMapOne {

  public static void main(String[] args) {
    TreeMap<Student, String> tm=new TreeMap<>(new Comparator<Student>() {

      @Override
      public int compare(Student s1, Student s2) {
        int num=s1.getName().compareTo(s2.getName());
        return num==0 ? s1.getAge()-s2.getAge() :num;
      }

    });
  tm.put(new Student("Kobe",20), "LA");
  tm.put(new Student("KG",21), "Boston");
  tm.put(new Student("PP",22), "Boston");
  tm.put(new Student("Allen",23), "Nanjing");
  System.out.println(tm);//{Student [name=Allen,age=23]=Nanjing, Student [name=KG,age=21]=Boston, Student [name=Kobe,age=20]=LA, Student                                                                                                                                                                                                                                  [name=PP,age=22]=Boston}

  }
}

以上是关于TreeMap集合之传入比较器的主要内容,如果未能解决你的问题,请参考以下文章

TreeMap 的排序冲突吗

Java 集合深入理解 (十七) :TreeMap源码研究如何达到快速排序和高效查找

Java集合之TreeMap

Scala性能比较之集合

Java之集合(二十六)ConcurrentSkipListMap

java 集合框架之 Map