treeMap 的多种遍历方式以及比较器和comparable的实现 1、使用keySet()方法转化为set集合,再通过遍历set集合通过TreeMap集合中的get方法获取value 2、使用TreeyMap集合中的entrySet将key和value一起转化为一个Set集合,再通过遍历set集合来获得原TreeMap集合中的key和value 3、两种比较方法:(1)写一个比较器传入到TreeMap的构造方法中(2)放在key上的自定义数据类型重写comparable方法 4、发现的问题:这个key部分我用的汉字加数字的方法(偷个懒) 结果发现按String类中的comparato的方法不能按数字顺序排列(这个目前还未解决)
下面附上代码
使用了for循环放了1000个数据,随机数范围为0-100,最后按照TreeMap的性质应该最多输出100个数据,按grade从小到大
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++) {
gradeMap.put(new Grade(gradeRa