是Java方法吗;Arrays.deepToString();打印二维阵列的最有效方法是什么?
我发现类似的问题如下: 但他们没有回答这样一个问题——效率更高吗 我正在用C#编写一个基本的小型控制台游戏,它需要反复清除和写入控制台以刷新游戏状态。在寻找一种比我当前的尝试更有效的方法时,我在Java中发现了以下内容:是Java方法吗;Arrays.deepToString();打印二维阵列的最有效方法是什么?,java,c#,arrays,Java,C#,Arrays,我发现类似的问题如下: 但他们没有回答这样一个问题——效率更高吗 我正在用C#编写一个基本的小型控制台游戏,它需要反复清除和写入控制台以刷新游戏状态。在寻找一种比我当前的尝试更有效的方法时,我在Java中发现了以下内容: Arrays.deepToString(arrayName); 这正是我想要达到的 这比在Java中使用嵌套循环更有效吗 String[][] map = new String[10][10]; for (int i = 0; i < 10; i++) {
Arrays.deepToString(arrayName);
这正是我想要达到的
String[][] map = new String[10][10];
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
map[i][j] = "=";
}
}
boolean firstRun = true;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 0 && firstRun == false)
{
System.out.print("\n");
}
System.out.print(map[i][j]);
firstRun = false;
}
}
String[][]map=新字符串[10][10];
对于(int i=0;i<10;i++)
{
对于(int j=0;j<10;j++)
{
map[i][j]=”=”;
}
}
布尔值firstRun=true;
对于(int i=0;i<10;i++)
{
对于(int j=0;j<10;j++)
{
如果(j==0&&firstRun==false)
{
系统输出打印(“\n”);
}
系统输出打印(地图[i][j]);
firstRun=false;
}
}
你从错误的角度看这个问题:
- 您的代码几乎没有处理任何数据(2019年,10x10是无数据的)
- 您的代码正在执行控制台输出
Arrays.deepToString(arrayName)的单一调用与编写同样的自定义循环相比,code>更受欢迎
请记住:在java世界中,运行时性能并非来自编写“聪明”的源代码。它来自JIT决定“这段代码被频繁使用,我应该把它翻译成机器代码”。如果JIT认为“不值得优化”,那么它就不值得优化。如果值得优化,那么让JIT更容易实现。通过编写简单易用的代码
长话短说:实现这一功能是一个很好的练习,但现在您已经实现了这一功能,请扔掉它,使用适合您的库调用。您需要它的效率有多高,目前它的效率有多高?如果不进行测量,就无法优化性能。使用探查器。无论我需要它有多高效,这些方法中的一种在理论上肯定更高效,不是吗?我很欣赏这个快速的答案,双赢哈哈。虽然这不是我正在使用的代码,但我只是用它作为一个例子,这肯定回答了我的问题,并且帮助很大,谢谢。