将字符的ArrayList转换为字符串?
如何在Java中将ArrayList
转换为String
? toString
方法将其作为[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
有很多解决方案。 您可以迭代字符并附加到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); }