如何用Java中的基因名称确定基因对象的平等性

时间:2014-05-13 11:39:20

标签: java

我有一个具有以下构造函数和属性的基因类

public class Gene implements Comparable<Gene> {
    String id;
    String name;

    //Constructor
    public Gene(String id, String name) {
        this.id = id;
        this.name = name;

    }

在另一个课程中,我想知道两组中哪些基因相似,它们的相似性基于基因名称。

        listOfAllGenes.retainAll(strain.getGenes());

我应该采用哪种方法来比较基因名称的两组基因?

感谢。

1 个答案:

答案 0 :(得分:0)

你可以做这样的事情

在Gene类

中添加name的getter方法
public String getName() {
    return name;
}

然后在另一个类中使用类似于此

的逻辑
ArrayList<Gene> matchingGenes = new ArrayList<>();
for (Gene gene1 : genelist1) {
    for (Gene gene2 : genelist2) {
        if gene1.getName().equals(gene2.getName) {
            matchingGenes.add(gene1);
            matchingGenes.add(gene2);
        }
    }
}

这将为您提供一个列表,其中包含与其他列表中的Gene共享名称的每个Gene的对。