【问题标题】:Returning the most common guide name in a trip array返回行程数组中最常见的指南名称
【发布时间】:2013-04-22 23:55:52
【问题描述】:

我是 Java 新手,也是计算机科学的新学生。

我有一个问题:如何在包含对象的数组中找到最常用的名称 有关于旅行的信息?

数组中有对象,每个对象都包含有关旅行的信息,并且有指南的名称。 按逻辑,我知道我需要首先获取所有指南名称,然后计算每个名称, 然后比较每个名称的计数器,找到最大的计数器,并返回指南 包含最大计数器.. 但我该怎么做呢?

有什么建议吗?

【问题讨论】:

    标签: java arrays element


    【解决方案1】:

    有很多方法可以做到这一点。你的方法是正确的。以下是有关如何在 java 中完成您提到的事情的更多细节。

    "获取所有指南名称" 这意味着您必须在数组上编写一个循环,并以某种数据结构收集名称。使用哪种数据结构取决于您想要做什么(下面会详细介绍)。

    "计算每个名字" 啊哈,因此您收集名称的数据结构也应该能够存储每个名称的计数。 Java 中最通用的数据结构之一是 Map。在这种情况下,您可以使用 Map 来存储每个名称的计数。

    "比较计数器", "找到最大值" 您可以在将名称收集到地图后执行此操作,但在循环中执行此操作可能更简单。当您遍历数组中的项目并获取名称以更新计数时,您还可以跟踪“迄今为止的最大计数”和与之相关的名称。每当您获得一个新计数大于此最大值的名称时,您就会有一个新的最大值和相应的名称(至少在您找到更大的名称之前)。然后在循环结束时,您将获得所需的名称。

    【讨论】:

    • 感谢您的回答!你能帮我想想如何在柜台和名字之间建立联系吗?这就是我卡住的地方。
    • 该数据结构在java中称为Map,在其他语言中有时称为字典或hash。它是一组键值对。在您的情况下,您将使用名称作为键,使用计数作为值。每次循环时,您都在 Map 中查看是否有与当前名称(键)关联的计数(值)。如果不是,则插入值 1 作为该名称的计数。如果是这样,则更新 Map 以使该值现在比以前大 1。
    猜你喜欢
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 2021-11-05
    • 2022-01-09
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多