Java 了解ArrayList是否包含多个元素

Java 了解ArrayList是否包含多个元素,java,Java,我有一个用户名数组列表和一个密码数组列表。两个或多个用户可以具有相同的密码 ArrayList<String> u = new ArrayList<String>(); ArrayList<String> p = new ArrayList<String>(); 就这样, String line = null; String split[] = null; while ((line = reader.readLine()) != null){

我有一个用户名数组列表和一个密码数组列表。两个或多个用户可以具有相同的密码

ArrayList<String> u = new ArrayList<String>();
ArrayList<String> p = new ArrayList<String>();
就这样,

String line = null;
String split[] = null;
while ((line = reader.readLine()) != null){
   split = line.split("\\s+");
   u.add(split[0]);
   p.add(split[1]);
}
我有一个生成密码的暴力算法,我想知道生成的密码是否匹配

String password = bruteForce()
if (passwords.contains(password)){
    int index = passwords.indexOf(password);
    System.out.println("Username: " + usernames.get(index));
    System.out.println("Password: " + password);
}
如果没有一个用户具有相同的密码,那么这种方法很有效。如果两个用户的密码相同;它只会抓取第一次出现的内容并打印出来,跳过第二个用户


我需要一种方法来确定同一密码是否多次出现,获取每个出现索引,然后获取它们的匹配用户名。

除了不应存储纯文本密码或字符串密码之外,回答以下问题:

尝试使用集合。频率

int amount = Collections.frequency(yourCollection, yourObject);
至于您的设计,您也可以尝试一些更具约束性的东西:

List<Tuple<String, String>> accounts = new ArrayList<>();
//Or even making an account object and then
List<Account> accounts = new ArrayList<>();
List accounts=new ArrayList();
//或者甚至创建一个帐户对象,然后
列表帐户=新的ArrayList();

除了不应存储纯文本密码或字符串密码之外,要回答以下问题:

尝试使用集合。频率

int amount = Collections.frequency(yourCollection, yourObject);
至于您的设计,您也可以尝试一些更具约束性的东西:

List<Tuple<String, String>> accounts = new ArrayList<>();
//Or even making an account object and then
List<Account> accounts = new ArrayList<>();
List accounts=new ArrayList();
//或者甚至创建一个帐户对象,然后
列表帐户=新的ArrayList();

您应该真正创建一个类
User
。你只需要一个用户列表,然后遍历它并检查每个密码。最初当我问这个问题时,我假设我们不允许实现我们自己的类。在与教授交谈之后,我确认用户类是可以的。干杯您应该真正创建一个类
User
。你只需要一个用户列表,然后遍历它并检查每个密码。最初当我问这个问题时,我假设我们不允许实现我们自己的类。在与教授交谈之后,我确认用户类是可以的。干杯