Scala 创建无重复列表的最佳方法?

Scala 创建无重复列表的最佳方法?,scala,Scala,我有一个HashMap,其中包含旧uri(键)到它们的替换uri(值)的映射。几个较旧的值已合并,这意味着存在重复的值。下面是一个小示例,显示了数据的外观(显然不是真实的网站): 我只需要以最有效的方式从映射中提取唯一的新地址,因为它是一个相当大的数据集。根据上面的示例,我需要生成一个具有以下值的列表: list(0) = http://newaddress1.com list(1) = http://newaddress2.com 我的第一个想法是使用ArrayBuffer的contains

我有一个HashMap,其中包含旧uri(键)到它们的替换uri(值)的映射。几个较旧的值已合并,这意味着存在重复的值。下面是一个小示例,显示了数据的外观(显然不是真实的网站):

我只需要以最有效的方式从映射中提取唯一的新地址,因为它是一个相当大的数据集。根据上面的示例,我需要生成一个具有以下值的列表:

list(0) = http://newaddress1.com
list(1) = http://newaddress2.com
我的第一个想法是使用ArrayBuffer的contains方法,如下所示:

if (!(list contains newAddress)) list += newAddress
但我突然想到,这可能涉及多次扫描大量数据,除非该方法具有比扫描整个列表更有效的检查重复数据的方法


我也知道,我可以很容易地使用地图来实现这一点,但为了我要做的事情,将它放在列表中会更容易。

最有效的方法是使用地图

收益率:

res: Set[String] = Set(world)

总的来说,我会参考以获得对其属性和应用程序的有趣阅读。

最有效的方法是使用

收益率:

res: Set[String] = Set(world)

总的来说,我会参考以获得对其属性和应用程序的有趣阅读。

这正是我想要的。谢谢这正是我想要的。谢谢
res: Set[String] = Set(world)