根据第N个单词对句子进行排序

时间:2016-04-26 15:07:50

标签: java

我必须在每行读一个带有一个句子的文件 然后我必须根据N th 字对这些句子进行排序(我给出一个数字作为输入参数,表示按此排序的位置句子)。

文件读取已完成,我已将这些单词加载到二维字符串数组中。

for(String line : Files.readAllLines(file))
for(String word : line.trim().split(" "))

我应该如何对句子进行排序?

1 个答案:

答案 0 :(得分:2)

使用自定义Comparator<String>来参与sort调用的调整(通过CollectionArrayCollections或{{1分别是实用程序类)。

  • 您需要在Arrays中添加一个实例字段,该字段代表您排序的Comparator字的索引,以及设置它的setter或构造函数
  • Nth覆盖中,您将使用该字段来检查两个compare(String s1, String s2)是否足够长并且具有足够的实际单词(然后,如果其中任何一个没有,那么还要决定该怎么做出线)
  • 如果两个String符合条件,您将通过StringScanner逐条列出这些字词,并在这两个字词上返回Pattern的计算,而不是整个compare s
  • 这将保证给定一个String列表和一个单词索引,所有String符合条件,在该给定单词索引处有一个可分词,将根据这些单词索引的字典比较进行比较单词,以及那些不符合条件的String的单独逻辑