Java 二维数组逻辑实现

标签 java arrays sorting multidimensional-array

我今天遇到了一个问题并尝试了但没有找到相关的解决方案。 问题是:

假设我们有一个包含城市名称和产品总数的二维数组。城市名称可以在列表中重复。

现在我们要做的是

  1. 计算在一个城市销售的产品数量,并将它们保存在另一个具有唯一城市名称和销售产品总数的二维数组中。
  2. 打印产品销量最高的第二个城市。

可供考虑的示例列表是:

private static String[][] arr = new String[][]{
        {"New Delhi", "5000"},
        {"Chennai", "4300"},
        {"Goa", "2940"},
        {"New Delhi", "2003"},
        {"Kolkata", "8904"},
        {"Kerala", "8972"},
        {"New Delhi", "8922"},
        {"Chennai", "8217"},
        {"New Delhi", "2462"},
        {"Kolkata", "5564"},
        {"Kerala", "9934"},
        {"New Delhi", "100"},
        {"Kolkata", "892"},
        {"Kerala", "9406"},
        {"New Delhi", "2003"},
        {"Chennai", "1049"}
    };

注意:我已经用 map 界面试过这个问题。只寻找多维数组的解决方案

最佳答案

使用 HashMap 键是城市,值是总数

  1. 遍历数组
  2. 如果 key 存在,获取 key 的值并用新的增加计数 值(value)观
  3. 如果键不存在,则推送值。

基本思路是:

if(dataMap.get(city)==null){
  dataMap.put(city,value);
 }
else{
 dataMap.put(city,value+dataMap.get(city));
}

您也可以对数组做同样的事情,但您需要声明一个新数组,您将根据相似的城市名称在其中添加计数。此场景的合适数据结构是 HashMap

关于Java 二维数组逻辑实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46976204/

相关文章:

java - 为什么 Java 找不到与类保存在同一文件夹中的 CSV 文件?使用 duke.edu 文件资源

java - 使用 JNA 从 java 调用 VB DLL 文件的函数

Javascript 警告框不显示

Javascript 迭代 Json 数组获取值

C++排序 vector 的指针错误

java - Pubnub:超出 channel 配额

java - "Cycle found"与 Spring Data Mongo 1.5

java - 在排序双向链表中添加方法 - java

javascript - 通过 moment.js 创建日历数组

java - 2D Array(Double) 排序给出 0 个值