如何将字符数组转换为集合

如何将字符列表添加到集合中?下面的代码似乎不起作用。

HashSet<Character> vowels = new HashSet<Character>(
        new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}
    );

我看到的错误是

构造函数 HashSet(Character[]) 未定义

我尝试了Character[]和char[],但都不起作用。


慕码人8056858
浏览 115回答 3
3回答

慕妹3242003

首先将Character数组转换为List,然后使用HashSet<>()构造函数转换为SetList<Character> chars = Arrays.asList(new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}); Set<Character> charSet = new HashSet<>(chars); System.out.println(charSet);或者你可以直接使用Arrays.asListSet<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');您还可以使用以下命令创建不可修改的 SetCollectionsSet<Character> set2 = Collections.unmodifiableSet(new HashSet<Character>(Arrays.asList(new Character[] {'a','e','i','o','u'})));通过使用Arrays.streamCharacter[] ch = new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}; Set<Character> set = Arrays.stream(ch).collect(Collectors.toSet());

LEATH

由于Set是Java中Collection包的一部分。因此,可以借助 Collections.addAll() 方法将 Array 转换为 Set。&nbsp;// Crate an Empty Set&nbsp;Set<T> set = new HashSet<>();&nbsp;&nbsp;&nbsp;&nbsp; // Add the Character array to set&nbsp;&nbsp; Collections.addAll(set, Arrays.toCharacter( new Character[] {'a', 'e', 'i', 'o', 'u', 'y'}));

哔哔one

Set<Character>&nbsp;vowels&nbsp;=&nbsp;new&nbsp;HashSet<Character>(Arrays.asList(new&nbsp;Character[]&nbsp;{'a',&nbsp;'e',&nbsp;'i',&nbsp;'o',&nbsp;'u',&nbsp;'y'}));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java