检查匹配的字符串

时间:2013-06-07 08:41:51

标签: java string

我将以下名称存储在文本文件中。

|Rafal Dlugosz     |     Ryszard Wojtyna|
|Shuming Wang     |     Junzo Watada|
|Ryszard Wojtyna     |     Rafal Dlugosz|
|Qinghua Hu     |     Daren X. Yu|
|Seok-Beom Roh     |     Tae-Chon Ahn|
|Daren X. Yu    |     Qinghua Hu|

名称以|符号分隔。我只需要显示那些名字对,其中第一人名等于某对中的第二人名,对于同一对,第二人名等于名。

示例:

|Rafal Dlugosz     |     Ryszard Wojtyna|
|Ryszard Wojtyna     |     Rafal Dlugosz|
|Qinghua Hu     |     Daren X. Yu|
|Daren X. Yu    |     Qinghua Hu|

任何形式的帮助都将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

我的建议如下 - 在每一行上分割字符串,并在每一对中创建一对数组,将第一个名称词典编排在该对的第一个位置,另一个名称在该对的第二个位置。对此数组进行排序,重复项将彼此相邻。

此外,您还必须以某种方式添加初始数组中每对索引的知识。也许使用自己的结构是最好的选择:

class Entry implements Comparable {
  String first_name_lexicographically;
  String second_name_lexicographically;
  int initial_index;
  public Entry(String line, int index); // split the line and initilize the fields
}

现在创建一个Entry数组,然后根据您的定义重复条目。它将是相邻的。