将字符的ArrayList转换为字符串?

如何在Java中将ArrayList转换为StringtoString方法将其作为[a,b,c]字符串返回 – 我想摆脱括号并将其存储为abc

您可以遍历列表并创建字符串。

 String getStringRepresentation(ArrayList list) { StringBuilder builder = new StringBuilder(list.size()); for(Character ch: list) { builder.append(ch); } return builder.toString(); } 

toString()一下, toString()返回ArrayList内容的人类可读格式。 不值得花时间从中过滤掉不必要的字符。 它的实现明天可能会改变,你必须重写你的过滤代码。

这里是一个使用Java8流的可能的单行解决方案。

a)String字符对象列表:

 String str = chars.stream().map(e->e.toString()).reduce((acc, e) -> acc + e).get(); 

b)字符数组(char []字符)

 String str = Stream.of(chars).map(e->new String(e)).reduce((acc, e) -> acc + e).get(); 

更新 (以下评论):

a)String字符对象列表:

 String str = chars.stream().map(e->e.toString()).collect(Collectors.joining()); 

b)字符数组(char []字符)

 String str = Stream.of(chars).map(e->new String(e)).collect(Collectors.joining()); 

最简单的是循环。

 List strings = new ArrayList(); // populate strings StringBuilder builder = new StringBuilder(); for(String string : strings) { builder.append(string).append(','); } if(builder.length() > 0) { builder.deleteCharAt(builder.length() - 1); } System.out.println(builder); 

假设您有以下列表:

 final ArrayList charsList = new ArrayList(); charsList.add('h'); charsList.add('e'); charsList.add('l'); charsList.add('l'); charsList.add('o'); 

这将产生hello (我正在使用org.apache.commons.lang.ArrayUtils帮助器类):

 final Character[] charactersArray = charsList.toArray(new Character[charsList.size()]); final char[] charsArray = ArrayUtils.toPrimitive(charactersArray); System.out.println(String.valueOf(charsArray)); 

怎么样,建立清单

 List charsList = new ArrayList(); charsList.add('h'); charsList.add('e'); charsList.add('l'); charsList.add('l'); charsList.add('o'); 

从字符列表中获取字符串的实际代码:

 String word= new String(); for(char c:charsList){ word= word+ c; } System.out.println(word); 

仍然在学习是否有错误指出。

您可以使用toString()和RegExp来完成它而不需要任何循环和流:

List list = Arrays.asList('a', 'b', 'c'); String s = list.toString().replaceAll("[,\\s\\[\\]]", "");

有很多解决方案。 您可以迭代字符并附加到StringBuilder,然后在完成追加时,在StringBuilder上调用.toString。

或者使用apache commons-lang项目中的commons-lang StringUtils.join之类的东西。

我会说 :

 public String arayListToString(ArrayList arrayList){ StringBuffer b = new StringBuffer(); for(String s : arrayList){ b.append(s); b.append(","); } return b.toString(); } 
  private void countChar() throws IOException { HashMap hashMap = new HashMap(); List list = new ArrayList(); list = "aammit".chars().mapToObj(r -> (char) r).collect(Collectors.toList()); list.stream().forEach(e -> { hashMap.computeIfPresent(e, (K, V) -> (int) V + 1); hashMap.computeIfAbsent(e, (V) -> 1); }); System.out.println(hashMap); }