多个arrayList之间的元素交集

时间:2012-07-08 23:27:33

标签: java data-structures collections arraylist intersection

我在MP3文件的“评论”部分中添加和删除TAGS(字符串)。我主要依靠ArrayList来获取COMMENT字符串。现在我想找到这些标签的交集(或者更好地说是ArrayList的字符串元素)。

我需要知道我是否选择了正确的系列,还有找到这些交叉路口的最佳方法吗?因为用户可能会选择10s或100s的歌曲(ArrayLists)并要求交叉标记。我应该单独查找TWO ArrayLists的交叉标记,然后使用结果来查看第3个ArrayList,依此类推?或者我是否需要更改我的数据结构。

很抱歉写一篇文章。

2 个答案:

答案 0 :(得分:0)

如果你想计算交叉点,你几乎肯定会使用Set而不是List。集非常适合处理无序集合和联合和交集等操作(removeAllretainAll)。它们也更有效地回答诸如“这个元素是否包含在集合中?”这样的问题。

希望这有帮助!

答案 1 :(得分:0)

如果您不想修改现有列表,请使用org.apache.commons.collections中的ListUtils。

ListUtils.intersection(list1, list2)