哈希集比较数组列表中的 2 个字符串以查找代码


嗨,我

正在尝试找到一种方法来比较我制作的动态表中的 2 个字符串代码,这是我声明它的方式:这将增加学生

 public void ajouteretudiants(Etudiant unetudiants) throws Exception {
    if (nbreetudiantss >= 30) {
        throw new Exception("Exces d'etudiants");
    } else {
        etudiants.add(unetudiants);
    }
    nbreetudiantss++;

这是为了得到学生的代码(名字的第一个字母+姓氏的第一个字母+出生年份(

public String getCode() {
    return this.code;
}

这是我现在尝试获取它的方式:

 public String toString() {
    String chaine = "  ";
    for (int i = 0; i < nbreetudiantss; i++) {
        chaine += etudiants.get(i).toString();
    }
    return chaine;
}

这是按字母顺序排列的类名

public String listTriee(){
    // trier le tableau etudiants en ordre alphabetique
    Etudiant temp = null ;
    for (int i=0; i<etudiants.size(); i++){
        for (int j=i+1; j<etudiants.size(); j++)
            if  (etudiants.get(i).getNom().compareTo(etudiants.get(j).getNom()) > 0){
                temp = etudiants.get(j);
                etudiants.set(j,etudiants.get(i));
                etudiants.set(i,temp);
                }
    }
    return toString() ;
    }

这是为了搜索我们查找的字符串是否在学生表中(这是我的问题(

public String rechercher(String code){
    Set<String> monHashSet=new HashSet<String>();
    monHashSet.add(new String(etudiants.get(i).getCode()));
    for (int i=0; i<etudiants.size(); i++){
    }
    return toString() ;
    }

如果你能够使用Java 8,你可以实现这样的东西

Set<String> monHashSet = etudiants.stream()
                .filter(code::equals)
                .collect(Collectors.toSet());

最新更新