1.添加treeMap元素时 标红但不报错 能运行
2.自动生成时总把包也导进来 标红不报错
treeMap.entrySet().var
entry.iter
3.
entry.getKey() 标红不报错 但entry.getValue不标红
源代码:
package map;
import java.util.Comparator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
/**
* @Date 2023/3/13 16:33
*/
public class TestTreeMap {
public static void main(String[] args) {
Comparator<Student> com=new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
int n1=o1.name.compareTo(o2.name);
int n2=o1.age-o2.age;
return n1==0?n2:n1;
}
};
TreeMap<Student,String> treeMap=new TreeMap<Student, String>();
Student s1=new Student("Neo",18);
Student s2=new Student("Will",19);
Student s3=new Student("Mike",15);
//1.添加
treeMap.put(s1,"北京");
treeMap.put(s2,"上海");
treeMap.put(s3,"天津");
System.out.println("元素个数:"+treeMap.size());
System.out.println(treeMap);
//2.删除
treeMap.remove(new Student("Will",19));
System.out.println(treeMap);
//3.遍历
//3.1entrySet()
Set<Map.Entry<Student, String>> entries = treeMap.entrySet();
for (Map.Entry<Student, String> entry : entries) {
System.out.println(entry.getKey()+"---"+entry.getValue());
}
//3.2keySet()
Set<Student> keys = treeMap.keySet();
for (Student key : keys) {
System.out.println(key+"---"+treeMap.get(key));
}
}
static class Student implements Comparable<Student>{
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public int compareTo(Student o) {
int n1=this.name.compareTo(o.name);
int n2=this.age-o.age;
return n1==0?n2:n1;
}
}
}