如何将字符列表添加到集合中? 下面的代码似乎不起作用。
HashSet<Character> vowels = new HashSet<Character>(
new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}
);
我看到的错误是
The constructor HashSet(Character[]) is undefined
我都试过了,Character[] 和 char[],但都不行。
最佳答案
首先将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
方法可用于创建不可变对象(immutable对象)
Set<Character> chSet = Set.of('a','e','i','o','u','y');
您还可以使用 Collections
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());
关于java - 如何将字符数组转换为集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58211465/