Java 多个arrayList之间的元素交集
我在MP3文件的“评论”部分添加和删除标签(字符串)。我主要依靠ArrayList来分割注释字符串。现在我想找到这些标记的交集(或者更好地说是ArrayList的string元素) 我需要知道我是否选择了正确的收藏,以及找到这些交叉点的最佳方法是什么?因为用户可能会选择10或100首歌曲(ArrayList)并请求交叉标记。我是否应该单独查找两个ArrayList的相交标记,然后使用结果查看第三个ArrayList,依此类推?或者我需要改变我的数据结构Java 多个arrayList之间的元素交集,java,data-structures,collections,arraylist,intersection,Java,Data Structures,Collections,Arraylist,Intersection,我在MP3文件的“评论”部分添加和删除标签(字符串)。我主要依靠ArrayList来分割注释字符串。现在我想找到这些标记的交集(或者更好地说是ArrayList的string元素) 我需要知道我是否选择了正确的收藏,以及找到这些交叉点的最佳方法是什么?因为用户可能会选择10或100首歌曲(ArrayList)并请求交叉标记。我是否应该单独查找两个ArrayList的相交标记,然后使用结果查看第三个ArrayList,依此类推?或者我需要改变我的数据结构 很抱歉写了一篇文章 如果要计算交点,几乎可
很抱歉写了一篇文章 如果要计算交点,几乎可以肯定的是,应该使用
集合而不是列表
。集合非常适合处理无序集合和操作,如并集和交集(使用removeAll
和retainal
)。它们还可以更有效地回答诸如“集合中是否包含此元素?”
希望这有帮助 如果不想修改现有列表,请使用org.apache.commons.collections中的ListUtils
ListUtils.intersection(list1,list2)
我能找到多个集合而不仅仅是两个集合的元素的交集吗?是的。。。你只需要对每个集合进行两两相交。哦,这和我上面解释的一样,找到两个集合之间的相交,然后在第三个集合打开并循环的情况下使用结果?是的,但是每一步都要比使用ArrayList快得多。谢谢大家,还有一件事,如果你能帮我一个选择这个设置?ArrayList items=新的ArrayList(Arrays.asList(comment.split(“,”));