对的Java优先级队列:如何插入按两个元素排序的对

时间:2016-10-03 08:15:02

标签: java priority-queue

我是Java新手,需要编写一个从.txt文件中获取数据的程序,并将其添加到一个集合中,该集合会自动对其进行排序,以便以逻辑格式轻松打印。

这是一个类的赋值,并且指定我们需要选择一个在添加数据时自动对数据进行排序的集合。我们无法使用任何类型的Collections.sort()方法,我们只能在打印最终输出时遍历集合。

.txt文件每行的数据采用以下格式: String person,String locationName \ n

一旦将数据添加到集合并打印集合,此程序输出的最终目标是按字母顺序列出位置,并在每个位置下方列出已经访问过的人员按字母顺序排列的位置,以及他们到达该位置的次数。

我能做到这一点的最好方法是创建一对优先级队列,我想知道是否有可能编写一个Comparator来精确地按两个String元素对数据进行排序这种格式,如果是这样,语法会是什么样的。

举个例子:

data.txt中:

Andrew, Beta
Bob, Alpha
Bob, Alpha
Andrew, Alpha

一对按两个元素排序:

Andrew, Alpha
Bob, Alpha
Bob, Alpha
Andrew, Beta

expected.txt :(一旦完成就应该很容易打印的格式)

Alpha:
   Andrew   1
   Bob      2
Beta:
   Andrew   1

0 个答案:

没有答案