在 Java 中将字符数组转换为列表

新手上路,请多包涵

谁能帮助我并告诉我如何将 char 数组转换为列表,反之亦然。我正在尝试编写一个程序,其中用户输入一个字符串(例如 "Mike is good" )并在输出中,每个空格都替换为 "%20" (即 "Mike%20is%20good" ) .虽然这可以通过多种方式完成,但由于在链表中插入和删除需要 O(1) 时间,我想用链表尝试它。我正在寻找将 char 数组转换为列表,更新列表然后将其转换回来的方法。

 public class apples
{
   public static void main(String args[])
   {
      Scanner input = new Scanner(System.in);
      StringBuffer sb = new StringBuffer(input.nextLine());

      String  s = sb.toString();
      char[] c = s.toCharArray();
      //LinkedList<char> l = new LinkedList<char>(Arrays.asList(c));
      /* giving error "Syntax error on token " char",
         Dimensions expected after this token"*/
    }
}

所以在这个程序中,用户正在输入字符串,我将其存储在 StringBuffer 中,我首先将其转换为字符串,然后转换为 char 数组,但我不是能够从 --- 获取列表 l s

如果有人能告诉我将 char 数组转换为列表的正确方法,我将不胜感激,反之亦然。

原文由 bourne 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 795
1 个回答

在 Java 8 及更高版本中,您可以使用 String 的方法 chars()

 myString.chars().mapToObj(c -> (char) c).collect(Collectors.toList());

如果您需要将 char[] 转换为 List<Character> ,您可以先从中创建一个 String ,然后应用上述解决方案。虽然它不会非常可读和漂亮,但它会很短。

原文由 hotkey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题