哪个更快?我需要快速插入元素并删除重复项。
List catNames = new ArrayList(); for(Cat cat: cats){ catNames.add(nameTheCat(cat)); } new HashSet(catNames); // remove duplicates finally
对
HashSet catNames = new HashSet(); for(Cat cat: cats){ catNames.add(nameTheCat(cat)); }
第一个片段(创建 List
List
因此,使用第二个片段并将元素直接添加到 Set
Set
编辑:更改问题后,可以使用 Stream 学生:
Stream
Set<String> catNames = cats.map(cat->nameTheCat(cat)).collect(Collectors.toSet());