猿问
在Java中将列表转换为集合的最简单方法
在Java中将
List
a 转换为a 的最简单方法是什么
Set
?
繁花不似锦
浏览 617
回答 3
3回答
吃鸡游戏
Set<Foo> foo = new HashSet<Foo>(myList);
0
0
0
牧羊人nacy
我同意sepp2k,但还有其他一些细节可能很重要:new HashSet<Foo>(myList);将为您提供没有重复的未排序集合。在这种情况下,将在对象上使用.equals()方法来标识重复项。可以与.hashCode()方法结合使用。(有关平等的更多信息,请点击此处)提供排序集的替代方法是:new TreeSet<Foo>(myList);如果Foo实现了Comparable,则此方法有效。如果不是,那么您可能要使用比较器:Set<Foo> lSet = new TreeSet<Foo>(someComparator);lSet.addAll(myList);为了确保唯一性,这依赖于compareTo()(来自可比较的接口)或compare()(来自比较器)。因此,如果您只关心唯一性,请使用HashSet。如果要进行排序,请考虑使用TreeSet。(请记住:稍后进行优化!)如果时间效率很重要,而空间效率很重要,请使用HashSet,请查看TreeSet。请注意,可以通过Trove(和其他位置)使用Set和Map的更有效实现。
0
0
0
慕标琳琳
如果您使用Guava库:Set<Foo> set = Sets.newHashSet(list);或更好:Set<Foo> set = ImmutableSet.copyOf(list);
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
我要回答