Java - 基于第一列组织2D数组的问题

时间:2015-07-04 06:47:45

标签: java arrays multidimensional-array

我试图组织一个2D Array,其中包含游戏的标题及其评分:

我有2D array这样:

Super Luigi Planet, 4
Nomopoly 2
Pac-Dude 5
Settlers of Catan 5
Super Luigi Planet 3
Nomopoly 5
Pac-Dude 1
Nomopoly 3
Pac-Dude 5

按第一列的字母顺序对2D Array进行排序后,我想将数组拆分为多个2D Arrays,如下所示:

Nomopoly 2
Nomopoly 3
Nomopoly 5

Pac-Dude 5
Pac-Dude 1
Pac-Dude 5

Settlers of Catan 5

Super Luigi Planet 3
Super Luigi Planet 4

我不确定如何分离2D array。如果我能够使用游戏和数组将2D array分隔成数组,那么找到游戏的平均评分会更加容易,这就是我想要看到的。

2 个答案:

答案 0 :(得分:1)

我认为使用除2D阵列以外的数据结构可能会更好,可能是TreeMap<String, List<Integer>>。关于TreeMap的好处是,它会根据键或在这种情况下的第一列按字母顺序自动排序。

因此,构建此数据的方式如下所示:

Nomopoly:[2,3,5] Pac-Dude:[5,1,5]
定居者:Catan:[5]
超级路易吉星球:[3,4]

然后,您所要做的就是将输入(可能是String.split())解析到结构中。当您想要显示它时,迭代地图的键和列表的元素并将其聚合成您想要的格式。

答案 1 :(得分:0)

我不确定您是否需要拆分此项目/作业的数组。但我认为有一种更简单的方法,不需要将原始数组拆分为更多数组。您只需要在主阵列中找到标题,然后计算标题的平均评分。我编写了一个例子,但我没有测试它。我希望它能给你一些想法。

\W

公共类游戏{

import java.util.Scanner;

}