我有一个独特的短信问题:
最终目标是将列表中显示的电话号码替换为联系人姓名
(这些都是字符串数组列表)
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();
}
}