public class TreeMapTest {
public static void main(String[] args) {
Random gradeRandom =new Random();
//生成随机数用于给grade赋予不同的初值
TreeMap<Grade,String> gradeMap=new TreeMap<>(new gradeComparator());
//new一个TreeMap集合 key部分为自定义的Grade类型,value部分为String 传入的比较成绩的比较器gradeComparator()
for (int i = 0; i <1000; i++) {
(new Grade((101),"金"+i),"金"+i);
}
//通过一个for循环为集合赋值
//下面是通过将key部分转化为Set集合的方法来遍历TreeMap集合
/*Set<Grade> gradeKeys=();//set集合用于存放key部分数据
for(Grade i:gradeKeys)
{
(i+" "+(i));//通过key获取value
}*/
//下面是通过将TreeMap集合中的key和value一同转化为一个Set集合
//是Map接口中的一个内部接口他的泛型为<Grade,Sring> 内部类的形式
//Set的泛型为<Grade,String>数据类型
Set<<Grade,String>> its=();
/*Iterator<<Grade,String>> itsIterator=();//通过迭代器遍历Set集合
while(()){
(());
}*/
for(<Grade,String> i:its)//通过增强for循环遍历Set集合
{
(i);
}
}
}
class Grade {
private int grade;//Grade中的grade私有元素 有一个gradeComparator比较器
private String name;//Grade类中的name私有元素 有一个nameComparator比较器
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Grade(int grade, String name) {//构造器
this.grade = grade;
this.name = name;
}
public Grade(int grade) {
this.grade = grade;
}//构造器
public String toString() {
return "Grade{" +
"grade=" + grade +
'}';
}
}
class NameComparator implements Comparator<Grade>{//比较器
public int compare(Grade o1, Grade o2) {
//重写的compara方法,利用String类中的comparaTo方法
return ().compareTo(());
}
}
class gradeComparator implements Comparator<Grade>{
public int compare(Grade o1, Grade o2) {
//重写的compara方法,相减得正或者负或者0
return ()-();
}
}