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

39

有人能帮我,告诉我如何将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数组,但我无法从s获取列表l

如果有人能告诉我正确的将char数组转换为列表以及反过来的方法,我将非常感激。


2
你不能使用原始数据类型作为List,需要使用Character。然而,你的方法行不通,所以最好使用例如Apache Commons中的ArrayUtils.toObject(char[])。 - s106mo
这是一篇关于在Java中将字符数组转换为字符串的文章,阅读它可以帮助您回答问题。**Convert Char Array To String In Java** - Rahul Gupta
11个回答

-1

列表 strList = Stream.of( s.toCharArray() ).map( String::valueOf ).collect( Collectors.toList() );


1
不,这会返回一个包含输入字符串的列表,而不是字符列表! - elesg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接