将char [] []转换为char [] [英] Converting char[][] to char[]

查看:97
本文介绍了将char [] []转换为char []的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的目标是打印一个新的字符串,例如

  char [] result = someArray();System.out.print(新字符串(结果)) 

我在任务 char [] [] 中使用2维数组.

我想将我的 char [] [] 数组转换为 char []

我如何直接从 char [] [] 打印单个字符串,或者轻松地将其转换为 char [] ?

Arrays.toDeepString()对我不起作用,因为它以 [[a,b,c],[d,e,f]] 格式打印而我正在寻找 abcdef 的输出.

解决方案

使用

 静态字符串singleString(char [] [] arr){返回Arrays.stream(arr).map(String :: new).collect(Collectors.joining(")));} 

无流"使用 StringBuilder 可能如下所示:

 静态字符串singleString(char [] [] arr){StringBuilder sb =新的StringBuilder(arr.length *(arr.length> 0?arr [0] .length:0));for(char [] row:arr){sb.append(new String(row));}返回sb.toString();} 

My goal is to print a new string like

char[] result = someArray();
System.out.print(new string(result))

I am working with 2 dimentional array in my task char[][].

I would like to convert my char[][] array to char[]

How do I either print a single string directly from char[][] or easily convert it to char[]?

Arrays.toDeepString() does not work for me as it prints in the format [[a,b,c],[d,e,f]] and I am looking for an output that is abcdef.

解决方案

2D arrays of chars can be easily converted into single string using String(char[]) constructor for each "row" array of chars followed by joining the resulting strings:

static String singleString(char[][] arr) {
    return Arrays.stream(arr)
                 .map(String::new)
                 .collect(Collectors.joining(""));
}

"Streamless" version using StringBuilder may look as follows:

static String singleString(char[][] arr) {
    StringBuilder sb = new StringBuilder(
            arr.length * (arr.length > 0 ? arr[0].length : 0));
    for (char[] row : arr) {
        sb.append(new String(row));
    }
    return sb.toString();
}

这篇关于将char [] []转换为char []的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆