我将以下名称存储在文本文件中。
|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|
任何形式的帮助都将不胜感激。谢谢。
答案 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数组,然后根据您的定义重复条目。它将是相邻的。