Java 将字符串拆分为矩阵数组
我有一个字符串:Java 将字符串拆分为矩阵数组,java,regex,arrays,string,matrix,Java,Regex,Arrays,String,Matrix,我有一个字符串: 1,3,4,5, 1,4,5,0, 2,5,3,8, 我想存储在变量矩阵中(int[][])。实现这一目标的最佳方式是什么?我应该使用Stringclass”方法吗?或者我应该先使用Regex?(通过String.split(…)),然后在,上拆分每个结果数组的项。然后首先使用Integer.parseInt(..)(通过String.split(..))解析每个,然后在,上拆分每个结果数组的项。然后使用Integer.parseInt(..)String input=“1,
1,3,4,5,
1,4,5,0,
2,5,3,8,
我想存储在变量矩阵中(int[][]
)。实现这一目标的最佳方式是什么?我应该使用String
class”方法吗?或者我应该先使用Regex
?(通过String.split(…)
),然后在,
上拆分每个结果数组的项。然后首先使用Integer.parseInt(..)
(通过String.split(..)
)解析每个,然后在,
上拆分每个结果数组的项。然后使用Integer.parseInt(..)
String input=“1,3,4,5,n1,4,5,0,n2,5,3,8,”;
字符串[]str1=input.split(“\n”);
int[][]矩阵=新int[str1.length][];
对于(int i=0;iString input=“1,3,4,5,n1,4,5,0,n2,5,3,8”;
字符串[]str1=input.split(“\n”);
int[][]矩阵=新int[str1.length][];
对于(int i=0;i
StringTokenizer
事实上被弃用:“建议任何寻求此功能的人使用String的拆分方法或java.util.regex包。”嗯,有趣的是,JavaDoc现在实际上建议使用,但没有意识到这一点。不过,似乎最好尽可能避免使用正则表达式。此外,在这种情况下,StringTokenizer的速度要快3倍(10k次迭代),对象创建也更少,尽管可能并不重要。按照建议,将StringTokenizer
替换为String.split()
。StringTokenizer
实际上已被弃用:“建议任何寻求此功能的人使用String的拆分方法或java.util.regex包。”嗯,有趣的是,JavaDoc现在实际上建议使用此方法,但没有意识到这一点。不过,似乎最好尽可能避免使用regex。在这种情况下,StringTokenizer的速度要快3倍(10k次迭代)并减少对象创建,尽管可能并不重要。按照建议将StringTokenizer
替换为String.split()
。
String input = "1,3,4,5,\n1,4,5,0,\n2,5,3,8,";
String[] str1 = input.split("\n");
int[][] matrix = new int[str1.length][];
for (int i = 0; i < matrix.length; i++) {
String[] str2 = str1[i].split(",");
matrix[i] = new int[str2.length];
for (int j = 0; j < matrix[i].length; j++) {
matrix[i][j] = Integer.parseInt(str2[j]);
}
}