检查所有数组值是否不同

Check all array values are diffrent

所以我有 4 个 arraylist 值,我想看到它们都是不同的,所以不会有重复值(所有值都是字符串) 这是我的代码希望你能帮助我,我有点困惑我试着查找我开始为每个值组合许多 if 条件。

    List<String>Answers=new ArrayList<String>();//מערך תשובות
    Answers.add(f.getName().toString());//הוספת התשובה הנכונה
    num = r.nextInt(30);
    //if(db.getFlag(num).getName().toString()!= f.getName().toString())
    //{
    Answers.add(db.getFlag(num).getName().toString());//הוספת 3 תשובות רנדומליות
    num = r.nextInt(30);
//  }
//  else
//      num = r.nextInt(30);        
    Answers.add(db.getFlag(num).getName().toString());
    num = r.nextInt(30);
    Answers.add(db.getFlag(num).getName().toString());

您可以检查列表是否已经 contains 您的值:

String valToAdd = db.getFlag(num).getName().toString();
if(!Answers.contains(valToAdd)){
    Answers.add(valToAdd);
}

此外,从您的评论中,我看到您尝试将字符串与 == 或 != 进行比较。

始终使用 string1.equals(string2) 比较字符串,因为它们是对象,而不是原始数据类型。

如果您不想重复,请选择 Set Interface

Set<String> namesSet=new HashSet<>();
namesSet.add("ABC");
namesSet.add("DEF");
namesSet.add("ABC"); // this will not be added because Set doesn't allow any duplicates

注意:Set#add()方法returnsboolean表示元素是否添加成功

Use HashSet instead of ArrayList. Hash set ensures that you dont have duplicate values. Just use in the same way as you are implementing ArrayList. 
e.g.
    HashSet<String> answers=new HashSet<String>();  
    answers.add(f.getName().toString());
    num = r.nextInt(30);

    answers.add(db.getFlag(num).getName().toString());
    num = r.nextInt(30);

    answers.add(db.getFlag(num).getName().toString());
    num = r.nextInt(30);
    answers.add(db.getFlag(num).getName().toString());