Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何找到一个元素?_Java_Servlets_Set - Fatal编程技术网

Java 如何找到一个元素?

Java 如何找到一个元素?,java,servlets,set,Java,Servlets,Set,如何检查集合中的元素是否存在 public class Account { public Account(String username, String password, String lastname, String firstname){ this.username = username; this.password = password; this.firstname = firstname; this.lastna

如何检查集合中的元素是否存在

public class Account
{
    public Account(String username, String password, String lastname, String firstname){
        this.username = username;
        this.password = password;
        this.firstname = firstname;
        this.lastname = lastname;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public String getFirstname() {
        return firstname;
    }

    public String getLastname() {
        return lastname;
    }


    private String username;
    private String password;
    private String firstname;
    private String lastname;
public boolean equals(Object obj)
    {
        boolean result = false;
        if (obj != null && obj instanceof Account)
        {
            Account p = (Account)obj;
            if ( getUsername().equals(p.getUsername()) 
              && getPassword() == p.getPassword() )
            {
                result = true;
            }
        }
        return result;
    }
}
我的Servlet

Set<Account> acc = new HashSet<Account>();

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        acc.add(new Account("test1", "pass123", "Boom", "Bang"));
            acc.add(new Account("test2", "pass123", "Beam", "Beng"));
        PrintWriter out = response.getWriter();
        String username = "";
        String password = "";


    if(request.getParameter("Username") != null){
        username = request.getParameter("Username");
    }
    if(request.getParameter("Password") != null){
        password = request.getParameter("Password");
    }

    Account act1 = new Account(username, password, "", "","");

            /*
            Works only on hard code
            Account act1 = new Account("test1", "pass123", "", "","");
            */

        out.print("<html>");
        out.print("<head><link href='layoutit/css/bootstrap.min.css' rel='stylesheet'>"
                + "<link href='layoutit/css/style.css' rel='stylesheet'>");
        out.print("<title></title>");
        out.print("</head>");
        out.print("<body");
        for (Account p : acc)
        {
            if(p.equals(act1){

                out.print("<h3>Click <a href='displayuser.html'>here</a> to continue.</h3>");
            }
            else{
                out.print("<h1>Invalid user account entered.Click <a href='index.html'>here</a> to login.</h1>");
            }
        }
        out.print("</body>");
        out.print("</hmtl>");
        out.close();
    }
设置为继续。”);
}
否则{
打印(“输入的用户帐户无效。单击以登录”);
}
}
输出。打印(“”);
输出。打印(“”);
out.close();
}

集合有一个“contains”方法以及任何扩展/实现集合的类型。在为帐户类型实现equals和hashcode时必须小心。您可以在文档中找到详细信息。

覆盖
equals(对象)
(使用正确的实现)在您的
帐户中
类,然后执行以下操作:

boolean containsAccount = acc.contains(some_account)

其中,
some\u account
account
实例,请阅读
HashSet
的Javadoc。我将在我的servlet中计算containsAccount?@KarlxSwanovski正确吗