TreeMap重写compare方法 : 图省事,只返回了1和-1
Map<String,float[][]> levelMaps = new TreeMap<>(new Comparator<String>() { @Override public int compare(String o1, String o2) { if (Integer.parseInt(o1) > Integer.parseInt(o2)) { return 1; } return -1; } });
之后判断map中是否包含某个key值时 一直返回false(确定map还有这个key)
原因:TreeMap通过compare方法判断只有大和小,没有相等的,所以返回的一直是false
需要修改compare方法 添加相等判断:
Map<String,float[][]> levelMaps = new TreeMap<>(new Comparator<String>() { @Override public int compare(String o1, String o2) { if (Integer.parseInt(o1) > Integer.parseInt(o2)) { return 1; }else if(Integer.parseInt(o1) == Integer.parseInt(o2)){ return 0; }else{ return -1; } } });