如何将字符列表添加到集合中?下面的代码似乎不起作用。HashSet<Character> vowels = new HashSet<Character>(
new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}
);我看到的错误是构造函数 HashSet(Character[]) 未定义我尝试了Character[]和char[],但都不起作用。
3 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
首先将Character
数组转换为List
,然后使用HashSet<>()构造函数转换为Set
List<Character> chars = Arrays.asList(new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}); Set<Character> charSet = new HashSet<>(chars); System.out.println(charSet);
或者你可以直接使用Arrays.asList
Set<Character> charSet = new HashSet<>(Arrays.asList('a','e','i','o','u','y'));
从jdk-9开始,有一些Set.of
方法可用于创建不可变对象
Set<Character> chSet = Set.of('a','e','i','o','u','y');
您还可以使用以下命令创建不可修改的 SetCollections
Set<Character> set2 = Collections.unmodifiableSet(new HashSet<Character>(Arrays.asList(new Character[] {'a','e','i','o','u'})));
通过使用Arrays.stream
Character[] ch = new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}; Set<Character> set = Arrays.stream(ch).collect(Collectors.toSet());
LEATH
TA贡献1936条经验 获得超6个赞
由于Set是Java中Collection包的一部分。因此,可以借助 Collections.addAll() 方法将 Array 转换为 Set。
// Crate an Empty Set
Set<T> set = new HashSet<>();
// Add the Character array to set
Collections.addAll(set, Arrays.toCharacter( new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}));
哔哔one
TA贡献1854条经验 获得超8个赞
Set<Character> vowels = new HashSet<Character>(Arrays.asList(new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}));
添加回答
举报
0/150
提交
取消