我有一个独特的 SMS 问题:
最终目标是将列表中显示的电话号码替换为联系人姓名
(这些都是字符串数组列表)
ArrayList3 包含 6 个元素,代表一组电话号码。 ArrayList2 包含代表所有可用电话号码的 31 个元素。 ArrayList1包含31个元素,代表所有电话号码的姓名,顺序分别到ArrayList2
我如何将它们与这种效果进行比较:
"如果ArrayList3的元素等于ArrayList2中的一个元素,复制ArrayList3到ArrayList2相同的位置> 并将其放入 ArrayList3。”
粗略地说,我试图做的是将 ArrayList3 的元素与 ArrayList2 中的相同元素相匹配。从那里,使用ArrayList2的位置得到与ArrayList1相同的位置,然后将该位置(ArrayList1)的数据复制到>ArrayList3.
关于如何实现这一点有什么想法吗?
最佳答案
不要使用 ArrayList<String>
对于 ArrayList1 和 ArrayList2。将数据合并为 Map<String,String>
.
map 基本上使用<key, value>
结构,而不是 ArrayList1
包含“名称”和 ArrayList2
包含“数字”,只需取 Map<name,number>
然后找到从 ArrayList3
获得的值(即数字)在Map
.
参见 Map
关于android - 如何比较 3 个数组列表并替换第三个数组列表中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10966793/