有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在安卓中将唯一的单词绑定到字符串

我制作了一个简单的安卓演示程序,用于将单词绑定到字符串,然后使用它们发送电子邮件,因此我希望所有单词都是唯一的(没有单个单词(电子邮件Id)应该在该字符串中重复)。我尝试了以下方法,但当我按下Heedware backbutton并取消选中我的联系人列表时,我得到了重复的值

代码

String str1 = "";
for (String bean : myAdapter.myId) {
    str1 = str1 + ","+ getFacebook(ConnectedActivity.this,Integer.parseInt(bean));
    System.out.println("========My facebookId:::::: " + str1);
}
if (str1.length() > 0) {
    if (str1.toUpperCase().contains(str1)) {
        System.out.println("contains duplicates::::::::::>>>>>>>>>>>>>");
    } else {
        str1 = str1.substring(1);
        MainActivity.showAlert(ConnectedActivity.this,"FACEBOOK SENDER", str1, "OK", "EMAIL");
    }

共 (2) 个答案

  1. # 1 楼答案

    for (int i = 0; i < myId.size(); i++) {
    
                            if(myId.get(i).equals(value[1]))
                            {
                                myId.remove(i);
                            }
    
                        }
    
  2. # 2 楼答案

    下面的代码将只保留只出现一次的电子邮件。重复出现的根本不会出现

    String str1 = "";
    ArrayList<String> all =  new ArrayList<String>();
    for (String bean : myAdapter.myId) {
        String s = getFacebook(ConnectedActivity.this, Integer.parseInt(bean));
        all.add(s);
    }
    
    int i,j;
    for (i=0;i<all.size();i++)
    {
        String temp = all.get(i);
        boolean found = false;
        for (j=i+1;j<all.size();j++)
        {
            if(temp.equals(all.get(j)))
            {
                found = true;
                all.remove(j);
                j ;
            }
        }
        if (!found)
            str1 += "," + temp;
    }
    System.out.println(str1);