首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Java将字符串转换为HashSet

用Java将字符串转换为HashSet
EN

Stack Overflow用户
提问于 2021-04-16 11:31:32
回答 2查看 777关注 0票数 0

我对将字符串转换为charcters的HashSet很感兴趣,但是HashSet在构造函数中接受一个集合。我试过了

HashSet<Character> result = new HashSet<Character>(Arrays.asList(word.toCharArray()));

( word是字符串),但它似乎不起作用(可能无法将char装箱到Character中?)

我应该如何进行这种转换呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-16 11:41:38

一种使用Java8流的快速解决方案:

代码语言:javascript
运行
复制
HashSet<Character> charsSet = str.chars()
            .mapToObj(e -> (char) e)
            .collect(Collectors.toCollection(HashSet::new));

示例:

代码语言:javascript
运行
复制
public static void main(String[] args) {
    String str = "teststring";
    HashSet<Character> charsSet = str.chars()
            .mapToObj(e -> (char) e)
            .collect(Collectors.toCollection(HashSet::new));
    System.out.println(charsSet);
}

将产出:

代码语言:javascript
运行
复制
[r, s, t, e, g, i, n]
票数 0
EN

Stack Overflow用户

发布于 2021-04-16 18:22:45

试试这个:

代码语言:javascript
运行
复制
      String word="holdup";
      char[] ch = word.toCharArray();
      HashSet<Character> result = new HashSet<Character>();
      
      for(int i=0;i<word.length();i++)
      {
        result.add(ch[i]);
      }
       System.out.println(result);

输出:

代码语言:javascript
运行
复制
 [p, d, u, h, l, o]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67124435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档