如何在android中删除arraylist中的重复名称[重复]

Posted

技术标签:

【中文标题】如何在android中删除arraylist中的重复名称[重复]【英文标题】:How to remove duplicate name in arraylist in android [duplicate] 【发布时间】:2013-06-03 13:02:35 【问题描述】:

我有一个数组多次具有相同的名称。那么如何删除它,只有我想以一个名称显示: ArrayList 名称 = new ArrayList();

name= 印度、日本、中国、美国、中国、日本、澳大利亚、印度、中国

我想这样显示

name= 印度、日本、中国、美国、澳大利亚

我有点困惑,如何删除重名。这意味着,我想一次显示一个唯一的名称,而不是在列表中显示多个相同的名称。

注意:

我找到了解决方案,但是当我显示在列表中时,如果第一个元素日本显示然后我单击然后它在 Toast 中显示印度,这是怎么发生的?然后其他人一样。在吐司上显示不准确。

【问题讨论】:

日本再次重复 :) HashSet 会是更好的选择 @PankajKumar 是的,你是对的。感谢您指出。我删除了我的答案,而是投票决定关闭为重复。 我找到了解决方案,但是当我显示在列表中时,如果第一个元素日本显示然后我单击然后它在 Toast 中显示印度,这是怎么发生的?然后其他人一样。在吐司上显示不准确。 索引中一定有一些不匹配的地方。退房。 【参考方案1】:

在添加 if !arraylist.contains(string) then arraylist.add(string);我认为这是最好的方法

例如:

if (!array.contains(value)) 
   array.add(value);

【讨论】:

【参考方案2】:

使用 HashMap 而不是 ArrayList。 HashMap 中的任何元素都是唯一的。

【讨论】:

或者更确切地说是一个集合,例如 HashSet。数据不需要键值对。 @laalto 你是对的 ;) 我刚醒来.. 我猜还在睡觉【参考方案3】:

使用 Hashset 将是最好的选择。 Hashset 不需要键值对机制。要么 您尝试使用 Arraylist 的 contains() 方法的其他选项,但它需要循环检查元素。

【讨论】:

以上是关于如何在android中删除arraylist中的重复名称[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从整数arraylist.ANDROID中删除值[重复]

android如何删除gridview中的某个item

如何删除 URL 中的参数并将其显示在地址栏中而不会导致 Javascript 中的重定向?

java - 如何从java中的另一个ArrayList中删除一个ArrayList的元素?

如果其他ArrayList中的条件为true,如何从ArrayList中删除项目

Android:如何从 listView 和 arrayAdapter 中删除项目