我有一个独特的短信问题:

最终目标是将列表中显示的电话号码替换为联系人姓名

(这些都是字符串数组列表)

ArrayList3包含6个元素,代表选择的电话号码。
ArrayList2包含31个元素,代表所有可用的电话号码。
ArrayList1包含31个元素,分别代表与ArrayList2相同的顺序的所有电话号码的名称。

我将如何比较它们的所有效果:

“如果Arraylist3的元素等于ArrayList2中的元素,则将ArrayList3复制到ArrayList2的相同位置,并将其放入ArrayList3中。”

大致上,我想做的是将ArrayList3的元素与ArrayList2中的相同元素进行匹配。从那里,使用ArrayList2的位置获取ArrayList1的相同位置,然后将该位置的数据(ArrayList1)复制到ArrayList3。

关于如何实现这一目标的任何想法?

最佳答案

我尝试了以下方法,它对我有用:

ArrayList<String> arrayList1 = new ArrayList<String>();
    ArrayList<String> arrayList2 = new ArrayList<String>();
    ArrayList<String> arrayList3 = new ArrayList<String>();
    arrayList1.add("Welcome");
    arrayList1.add("Home");

    arrayList2.add("1");
    arrayList2.add("2");

    arrayList3.add("2");



    for(int i=0; i< arrayList3.size(); i++){
        if(arrayList2.contains(arrayList3.get(i))){
            int index = arrayList2.indexOf(arrayList3.get(i));
            arrayList3.set(i, arrayList1.get(index));
            //Toast.makeText(this, "Found " + arrayList3.get(i), Toast.LENGTH_LONG).show();
        }
    }

09-26 03:27