首页 > 其他分享 >TreeMap的使用

TreeMap的使用

时间:2023-02-21 11:23:16浏览次数:42  
标签:stuNo name treeMap TreeMap Student 使用 public out

package edu.wtbu;

import java.util.Comparator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class Demo01 {
public static void main(String[] args) {
//新建集合
TreeMap<Student, String> treeMap = new TreeMap<>(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
int n1=o1.getStuNo()-o2.getStuNo();
return n1;
}
});

//1.添加元素
Student s1 = new Student("张三", 16);
Student s2 = new Student("李四", 17);
Student s3 = new Student("王五", 18);
treeMap.put(s1,"湖北");
treeMap.put(s2,"湖南");
treeMap.put(s3,"北京");


System.out.println("元素个数:"+treeMap.size());//元素个数:3
System.out.println(treeMap);//{Student{name='张三', stuNo=16}=湖北, Student{name='李四', stuNo=17}=湖南, Student{name='王五', stuNo=18}=北京}

//2.删除元素
//treeMap.remove(s1);
treeMap.remove(new Student("张三", 16));
System.out.println("元素个数:"+treeMap.size());//元素个数:2
System.out.println(treeMap);//{Student{name='李四', stuNo=17}=湖南, Student{name='王五', stuNo=18}=北京}

//3.遍历
//1.使用KeySet
Set<Student> keySet = treeMap.keySet();
for (Student key:
keySet) {
System.out.println(key+"--------"+treeMap.get(key));
}

//2.使用EntrySet
Set<Map.Entry<Student, String>> entrySet = treeMap.entrySet();
for (Map.Entry<Student, String> key:
entrySet) {
System.out.println(key);
}

//4.判断
System.out.println(treeMap.containsKey(s2));//true
System.out.println(treeMap.isEmpty());//false
}
}


package edu.wtbu;

import java.util.Objects;

public class Student {
private String name;
private int stuNo;

public Student() {
}

public Student(String name, int stuNo) {
this.name = name;
this.stuNo = stuNo;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getStuNo() {
return stuNo;
}

public void setStuNo(int stuNo) {
this.stuNo = stuNo;
}

@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", stuNo=" + stuNo +
'}';
}

// @Override
// public boolean equals(Object o) {
// if (this == o) return true;
// if (o == null || getClass() != o.getClass()) return false;
// Student student = (Student) o;
// return stuNo == student.stuNo && Objects.equals(name, student.name);
// }
//
// @Override
// public int hashCode() {
// return Objects.hash(name, stuNo);
// }


}

标签:stuNo,name,treeMap,TreeMap,Student,使用,public,out
From: https://www.cnblogs.com/123456dh/p/17140276.html

相关文章

  • 外键删除属性on_delete的使用
    on_delete=models.CASCADE#删除关联数据,与之关联也被删除on_delete=models.DO_NOTHING#删除关联数据,什么也不做on_delete=models.PROTECT#删除关联数据,引发错误......
  • 使用Direct3D获取屏幕内容
    使用CreateCompatibleDC、CreateCompatibleBitmap、BitBlt等函数获取屏幕内容时,会导致屏幕的刷新频率降低,出现屏幕扇动的情况。为避免出现上述问题,可以使用Direct3D提供的......
  • mybatis配置文件resultMap标签的使用
    本文为博主原创,未经允许不得转载:      resultMap标签是为了映射select查询出来结果的集合,其主要作用是将实体类中的字段与数据库表中的字段进行关联映射。    ......
  • VUEX 使用学习三 : mutations
    转载请注明出处:在Vuex中store数据改变的唯一方法就是提交 ​​mutations​​​。​​mutations​​​里面装着一些改变数据方法的集合,这是Vuex设计很重要的一点,就......
  • VUEX 使用学习四 : action
    转载请注明出处:action用于处理异步任务;​​action​​,可以操作任意的异步操作,类似于​​mutations​​,但是是替代​​mutations​​来进行异步操作的。首先​​mutatio......
  • Vue 中 Promise 的then方法异步使用及async/await 异步使用总结
    转载请注明出处:1.Promise的then方法使用then方法是 Promise中处理的是异步调用,异步调用是非阻塞式的,在调用的时候并不知道它什么时候结束,也就不会等到他返回......
  • VUEX 的使用学习二: state
    转载请注明出处:state提供唯一的数据资源,所有的共享的数据都要统一放到store中的state中进行存储;状态state用于存储所有组件的数据。管理数据//初始化vuex对象c......
  • vue 中安装并使用echart
    本文为博主原创,转载请注明出处:1.安装echart依赖:安装命令: npminstallecharts--save在vscode的终端窗口进行执行,如图所示: 执行完之后,查看项目中的echart......
  • mysql中if()函数使用
    博主原创,转载请注明出处:     在mysql中if()函数的用法类似于java中的三目表达式,其用处也比较多,具体语法如下:IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的......
  • 11 使用自由风格发布k8s项目
    一背景说明新版的jenkins由于一些k8s插件发现没了,没法使用之前的方法发布了,这次不使用任何插件,直接使用自由风格发布。jenkins是使用docker启动的,k8s环境是基于1.23版本......