您将使用哪种数据结构:Treemap或HashMap? (Java)

技术标签: java.  数据结构  地图  Hashmap.  Treemap.

描述| 读取文本文件的Java程序并按字母顺序一起打印每个唯一单词以及文本中发生单词发生的次数。

该程序应声明类型的变量 Map<String, Integer> 存储单词和相应的发生频率。但是,哪种混凝土类型? TreeMap<String, Number> 要么 HashMap<String, Number>

输入应转换为小写。

一个单词不包含任何这些字符: \t\t\n]f.,!?:;\"()'

示例输出|

 Word            Frequency
  a                 1
  and               5
  appearances       1
  as                1
         .
         .
         .

备注| 我知道,我在Perl中看到了优雅的解决方案,而且大致两行代码。但是,我想在Java中看到它。

编辑:哦,是的,使用其中一个结构(在Java中)显示实现有所帮助。

看答案

TreeMap 对我来说似乎是一种 - 只是因为“按字母顺序”要求。 HashMap 当你迭代它时没有订购; TreeMap 迭代自然关键订单。

编辑:我认为Konrad的评论可能一直在提出“使用 HashMap然后,“这很好,因为虽然我们最初有n次迭代,但我们将在末端具有k&lt; = n键由于重复项。我们也可以节省昂贵的位(分类)直到结束我们的钥匙更少,而不是采取小于但不断的击中,因为我们走了。

说过,我暂时坚持我的回答:因为它是 最简单的 实现目标的方式。我们真的不知道OP特别担心表现,但问题意味着他关注优雅和简洁。用一个 TreeMap 使这种令人难以置信的简短,这对我有吸引力。我怀疑如果表现真的是一个问题,可能会比任何一种更好的攻击方式 TreeMap 要么 HashMap :)


智能推荐

HashMap数据结构--java基础面试大Boss

前言: 几年前刚刚培训java出来,参加的第一家面试,面试java基础,第一个问题就是hashmap数据结构。 当时我的反应是这样的: 啥?啥结构,什么数?什么构?不就是get、put? 后来经过百度,看各种帖子,也算是了解了一些,面试时也算是能跟面试官说说hashmap数据结构了,毕竟天天问。问道最后也能“谈笑风声”了。。。。 后来在工作之余慢慢看了数据结构这本数,看了下...

Java中HashMap底层数据结构

HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。 一、定义 HashMap实现了Map接口,继承AbstractMap...

【数据结构】8.java源码关于HashMap

1.hashmap的底层数据结构 众所皆知map的底层结构是类似邻接表的结构,但是进入1.8之后,链表模式再一定情况下又会转换为红黑树 在JDK8中,当链表长度达到8,并且hash桶容量超过64(MIN_TREEIFY_CAPACITY),会转化成红黑树,以提升它的查询、插入效率底层哈希桶的数据结构是数组,所以也会涉及到扩容的问题。 当MyHashMap的容量达到threshold域值时,就会触发...

java知识点 --- Redis五种数据结构的底层实现

1、字符串对象   字符串是Redis最基本的数据类型,不仅所有key都是字符串类型,其它几种数据类型构成的元素也是字符串。注意字符串的长度不能超过512M。   ①、编码   字符串对象的编码可以是int,raw或者embstr。   1、int 编码:保存的是可以用 long 类型表示的整数值。   2、raw 编码:保存长度大于44字节的字符串(redis3.2版本之前是39字节,之后是44...

终于!Linaro 加盟 Zephyr 项目

导读 为物联网构建实时操作系统的开源协作项目 Zephyr 项目宣布,Linaro 有限责任公司以白金会员的身份加盟该项目。Linaro是一家为 ARM 架构开发开源软件的协作工程组织,也是全球性机构,其 35 个成员中不乏来自多个行业部门的龙头企业。 Linaro 加入了由英特尔公司(包括其收购的企业集团阿尔特拉公司和风河系统公司)、恩智浦半导体公司(包括其最近与飞思卡尔合并的组织)以及美国新思...

猜你喜欢

AI技术 | PIFuHD-由高清图片生成3D人物模型对BIM的启示

AI技术 | PIFuHD-由高清图片生成3D人物模型对BIM的启示 AI技术 | PIFuHD-由高清图片生成3D人物模型对BIM的启示 AI技术 | PIFuHD-由高清图片生成3D人物模型对BIM的启示 最近在知乎上逛着看到一个非常有意思的AI技术,叫PIFuHD,这个技术可以由一张人物的高清图片,进行一系列的像素处理,生成人物的3D模型结构,很多关于人物的细节都处理得很好,还原度很高,下面...

win10动态壁纸无法通过右击属性的个性化来换掉

文章目录 win10壁纸无法去掉 a. 打开轻松使用设置 b. 找到window个性化设置 c. 关闭“在windows中显示动画” win10壁纸无法去掉 a. 打开轻松使用设置 b. 找到window个性化设置 c. 关闭“在windows中显示动画”...

OneNET平台控制W5500开发板LED灯

前言 关于本文内容的一些名词解释 1、产品    产品是指用户手上的真实设备在OneNET上对应的虚拟名称,是用户在OneNET上最上层的云端资源。 2、产品ID 产品ID是指由OneNET后台为您的某一款真实产品分配的一个独立的ID号,如果您旗下的某一款产品有两款不同的系列(如Iphone7/Iphone7 PLUS),那么建议创建两款产品来分别获得两个产品ID。 3、API...

我的程序员进阶之路

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤草树知春不久归,百般红紫斗芳菲。 2012年的时候,我参与了一个项目,我觉得那个项目是我职业生涯的一个转折点。经过那个时间节点后,我在能力,视野,心理上都获得了巨大的成长,也为自己后面的发展奠定了基础。 1 当时产品刚刚站稳了脚...

GaussDB架构(下)

GaussDB云数据库架构 云数据库系统的主要目的是提供数据库系统服务的基础设施,以实现对计算机资源的共享。本文所讲述的GaussDB云数据库架构设计的内容,目前处于研发阶段,对应产品尚未向客户发布。 1.设计思想与目标客户 从数据存放的位置来看,云数据库系统可以分成三大类: 公有云数据库系统服务: 该类数据库系统服务主要面向中小型企业的数据库需求。针对中小型企业提供公有云数据库系统服务,可以大幅...

问答精选

Static initialization order issue in C++

This is another variation of an old theme: The initialization order of static objects in different translation units is not defined. Below is a stripped-down example of my particular scenario. The cla...

How to append a text file on SFTP server using SharpSSH or SSH.NET library

I use Tamir.SharpSSH library to make my SFTP operations. I can upload file from client, delete or list files located in an SFTP server directory. But I cannot find how to append a text file. I don't w...

NodeJS cloud Openshift wont display my app

I've been struggling days just to upload my nodejs app on a cloud and i tried openshift because it seems nice and i've commited my folder and files into my github, i've created a ssh key and everythin...

Creating APK file inside Android Application on the device?

Can one create .APK file from set of files/folder inside Android Application? (for example, inside application like fdroid) For example, I have uncompressed files of my apk file and I want to recreate...

Naming files in R loop

I have multiple audio files which are held in several subfolders in my working directory. I have a loop which reads in the first minute of each file and then saves them as a new file. Now, there are a...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答