在Java中迭代数组并比较两个结果

时间:2013-11-07 00:35:59

标签: java arrays rest

给定和字符串数组,例如:

userMail usermail = new userMail();
List<String> data = new ArrayList<String>();

Object userMail的定义如下:

import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlRootElement;


@XmlRootElement
public class userMail {
    public userMail(){

    }

    public List<String> email = new ArrayList<String>();

    public List<String> getEmail() {
        return email;
    }

    public void setEmail(List<String> email) {
        this.email = email;
    }

所以这就是我迷路的地方: 给定来自客户端的电子邮件地址,遍历数组并找到它。如果存在,则返回与此电子邮件地址关联的一些数据,并使用REST将其发回客户端。

即使是高级别的概念也会受到高度赞赏。 感谢

2 个答案:

答案 0 :(得分:0)

最好使用HashMap或任何Map构造,这将清除设置搜索算法的麻烦。

例如

public static void main(String[] args)
{
    HashMap<String,String> xdr = new HashMap<String, String>();
    xdr.put("bdx@atr.com", "Border line Statement");
    System.out.println(xdr.get("pdf"));//output returned is null
            String valx = xdr.get("bdx@atr.com");
    String valy = xdr.get("pdf");
    if(valy == null)
        System.out.println("This is null value" + valy);
    if(valx == null)
        System.out.println(valx);
}

如果未找到密钥,则返回null。你可以检查返回值为null以继续进行。

  

然后返回与此电子邮件地址相关联的一些数据

您甚至可以将要返回的数据存储为密钥的HashMap中的值存储。

答案 1 :(得分:-1)

试试这个:

public email checkForEmail(testEmail)
{
    for(int x = 0; x < emailList.length-1; emailList--) //searches through list of emails
    {
        if(emailList[x].equals(testEmail)) //if current index position equals email you search for
            return emailList[x]; //return that email
    }
    return null; //returns null if the email address wasn't contained
}

您可以编辑if语句来比较您选择的电子邮件的任何变量。