1.TreeMap介绍

TreeMap底层是树形(红黑树)结构,作为Map的一员,包含着key--value形式的元素,和HashMap最大的区别是丢进去的东西自动排序。要注意的是默认的是对Key排序,也可以重写Comparator对Value排序,很方便。

2.TreeMap常用方法

put(key,value) 添加一对键值对
putAll(map) 添加一个map的所有键值对
remove(key) 删除对应的键值对
clear() 删除所有元素
containsKey(key) 判断是否含有某一键值
containsValue(value) 判断是否含有某一value
firstKey() 返回第一个key
get(key) 取出指定key对应的值
lastKey() 返回最后一个key
replace(key,value) 修改一对键值对
ceilingKey(key) 返回map中键值不小于参数key的最小键值
entrySet() 返回由原Map的键值对组成的Set
size() 返回map中包含的键值对的数量
remove(key) 从map中删除对应的键值对

3.TreeMap实战

前k个高频元素

力扣

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]
class Solution {public static int[] topKFrequent(int[] nums, int k) {if(nums == null || nums.length <2){return nums;}int[] temp = new int[k];TreeMap<Integer, Integer> map = new TreeMap<>();for(int i = 0; i < nums.length; i++){if(!map.containsKey(nums[i])){map.put(nums[i],1);}else{map.put(nums[i],map.get(nums[i])+1);}}List<Map.Entry<Integer, Integer>> entryArrayList = new ArrayList<>(map.entrySet());Collections.sort(entryArrayList, Comparator.comparing(Map.Entry::getValue));for(int i = 0; i < k;i++){temp[i] = entryArrayList.get(entryArrayList.size()-i-1).getKey();}return temp;}
}

Java-数据结构-TreeMap相关推荐

  1. Java集合—TreeMap底层原理

    原文出自:http://cmsblogs.com/?p=1013.尊重作者的成果,转载请注明出处! 个人站点:http://cmsblogs.com TreeMap的实现是红黑树算法的实现,所以要了解 ...

  2. Java集合--TreeMap

    转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部分 TreeMap介绍 TreeM ...

  3. 【Java数据结构】Map与Set、搜索树、哈希表

    1.1 概念及场景 1.2 模型 二.Map 的使用 2.1.关于Map的说明 2.2.Map 的常用方法说明 2.3.TreeMap的使用案例 三.Set 的说明 3.1.常见方法说明 3.2.Tr ...

  4. 使用java数据结构编写代码

    使用java数据结构编写代码 数组数据结构 数组的初始化 public static void main(String[] args) {int[] arrays = new int[5]; // 定 ...

  5. 【Java 数据结构】实现一个二叉搜索树

    目录 1.认识二叉搜索树 2.实现一个二叉搜索树 2.1 成员变量 2.2 insert 方法 2.3 search 方法 2.4 remove 方法(重点) 3.二叉搜索树总结 1.认识二叉搜索树 ...

  6. Java数据结构及原理实现

    程序设计主要是数据结构+算法,而数据结构在面向对象思维里是"容器"的意思,数据结构主要负责数据的添加,删除,修改,查找及对数据的其他操作.编程里面对着不同问题场景,选择哪种数据结构 ...

  7. Java——数据结构

    Java--数据结构 一.链表(LinkedList) (1)实现对链表的添加 (2)实现对链表的删除 (3)常用方法: 二.数组列表类(ArrayList) 数组列表(ArrayList)的构造函数 ...

  8. java队列_如何彻底搞懂 Java 数据结构?CSDN 博文精选

    作者 | 张振华.Jack 责编 | 郭芮 出品 | CSDN 博客 本文和大家一起来重温<Java数据结构>经典之作. Java数据结构 要理解Java数据结构,必须能清楚何为数据结构? ...

  9. Java 数据结构与算法系列之冒泡排序

    一.前言 相信大部分同学都已经学过数据结构与算法这门课了,并且我们可能都会发现一个现象就是我们所学过的数据结构与算法类的书籍基本都是使用 C 语言来写的,好像没见过使用 Java 写的数据结构与算法. ...

  10. Java数据结构与算法——树(基本概念,很重要)

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 有网友私信我,期待我的下一篇数据结构.非常荣幸文章被认可,也非常感谢你们的监督. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督 ...

最新文章

  1. CentOS单用户模式登录方法:
  2. hadoop multipleoutputs
  3. 上机考试系统 commons-fileupload 上传与下载 压缩为 zip 文件 删除文件夹下所有内容...
  4. python--列表与字典
  5. [剑指offer]面试题第[7]题[JAVA][斐波那契数列][递归]
  6. 实验一 命令解释程序编写
  7. 计算机专业英语介词短语举例,计算机专业英语英汉互译技巧.ppt
  8. java获取字符串实际编码_Java获取字符串编码方式
  9. aspx 请求不到后端_2021了你该知道的6个Node.js后端框架
  10. python flask文件下载 | 实用代码架构
  11. 明翰英语教学系列之雅思常见词汇与固定搭配篇V1.0(持续更新)
  12. Linux下的图片编辑软件
  13. 国外服务器 百度云,百度云加速如何配置网站海外加速
  14. tsx vue3 自定义指令
  15. 电脑笑脸蓝屏问题 也许你可以尝试一下这个
  16. 认识常见壳与程序的特征
  17. mac php 连接 mssql 2008,php5.3.x连接MSSQLserver2008
  18. 监控系统 Prometheus 的说明
  19. linux常用bash命令介绍
  20. 网络编程的5种IO模型

热门文章

  1. 续流二极管作用及工作原理
  2. Borg和Kubernetes有什么不同?未来的云需要什么?
  3. 腾讯下载的视频怎么转换成mp4格式
  4. 微型计算机cpu组成部分组成部分的功能,微处理器的组成及其各部分的功能?
  5. 【matlab算法原理详解】车牌识别算法
  6. 车牌识别系统原理及代码【YOLO+MLP】
  7. 关于微信小程序,你不知道的那些事
  8. 使用CSS格式化Table样式
  9. android studio生成的apk文件无法安装
  10. 计算机c盘要满了电脑会卡吗,电脑卡就一定是C盘装太满吗?