android - 如何比较 3 个数组列表并替换第三个数组列表中的数据?

标签 android arraylist sms

我有一个独特的 SMS 问题:

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

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

ArrayList3 包含 6 个元素,代表一组电话号码。 ArrayList2 包含代表所有可用电话号码的 31 个元素。 ArrayList1包含31个元素,代表所有电话号码的姓名,顺序分别到ArrayList2

我如何将它们与这种效果进行比较:

"如果ArrayList3的元素等于ArrayList2中的一个元素,复制ArrayList3ArrayList2相同的位置> 并将其放入 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/

相关文章:

java - 使用 Intents 和 OnClickListener 时的“预期类或包”

java - 从列表中获取随机字符串

java - 创建一个组合来自两个对象的字段的 ArrayList?

java - Android - 从更改默认短信应用程序对话框中获取结果

android - Kotlin 类型不匹配 : inferred type is View! 但 TextView 是预期的

Android AsyncTask 启动另一个 AsyncTask

java - 如何使用按钮单击android中的警报框发送短信

android - KitKat 上是否可以有 2 个功能性 SMS 应用程序?

安卓模拟器ip地址

java - 反序列化对象的Arraylist