在Java中将ArrayList <String []>有效转换为多行字符串

邋遢
ArrayList<String[]> writtenClasses = new ArrayList<String[]>();
// usually there is functional code here that populates
// ArrayList<String[]> writtenClasses with variably 3000
// String[] objects always of exactly 8 lines each

ArrayList<String> processedClasses = new ArrayList<String>();
for(String[] classLines: writtenClasses)
{
    for(String classLine: classLines)
    {
        processedClasses.add(classLine);
    }
}

String result = "";
for(String fileLine: processedClasses)
{
    result += fileLine + "\n";
}

我的代码在上面。它工作正常,并能准确地产生我想要的结果,只是速度很慢。每个ArrayList writerClasses项大约需要10毫秒,在我给它更大的工作之前还可以。我怀疑与ArrayLists有关的事情花了很长时间,但是每次运行后定时和打印到控制台作业统计信息却很少。

上面的代码是对早期代码的改编,旨在提高效率。这样做约占4%。下面的代码是我使用的旧方法,它所花的时间比上面的要长一点。

for(String[] classLines: writtenClasses)
{
    for(String classLine: classLines)
    {
        result += classLine + "\n";
    }
    writtenClasses.set(writtenClasses.indexOf(classLines), null);
}

writtenClasses.set(writtenClasses.indexOf(classLines), null);只是为了提高内存效率而做的,我的统计数据表明,它以不可检测的CPU工作量更有效地使用了内存。

这是我在StackOverflow上的第二个问题,我已尽力遵循规则,但是如果我提出的要求很差或以某种方式无意中不加考虑,请向我强调一下,我将予以解决。:)

icza

创建中间processedClasses列表绝对没有用另外,StringBuilder将大大加快该过程:

// Consider a large initial size to even avoid reallocation, here I used 64 KB
StringBuilder sb = new StringBuilder(65536);

for (String[] classLines : writtenClasses)
    for (String lines : classLines)
        sb.append(lines).append('\n');

// Note: you might not even need to convert it to String, read reasoning below
String result = sb.toString();

我们在实现CharSequence接口的StringBuilder中构建内容许多类接受CharSequences而不仅仅是Strings。一个很好的例子是FileWriter在这些情况下,您甚至不需要将转换为StringBuilderString因为StringBuilder可以像传递String结果一样容易地传递它,如果内容确实很大,则可能是另一个性能优势。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Python中将字符串转换为ctypes.c_ubyte数组的有效方法

来自分类Dev

在Java中将字符串转换为ArrayList <String>

来自分类Dev

在Android中将String转换为Arraylist <string>

来自分类Dev

如何在Java中有效地将二进制字符串转换为二进制字节数组?

来自分类Dev

在C#中将定界字符串转换为字典<string,uint>

来自分类Dev

从Scala字符串转换为java.lang.String

来自分类Dev

Python中将带空格的字符串转换为MySql的DateTime的最有效方法

来自分类Dev

将JAXBElement <String>值转换为Java字符串

来自分类Dev

将java.util.ArrayList [String]转换为json数组字符串

来自分类Dev

如何在javascript中将字符串转换为有效日期

来自分类Dev

如何在golang中将字符串从接口转换为[] string?

来自分类Dev

如何在go中将[] [2] string转换为map [string]字符串?

来自分类Dev

在Groovy中将String转换为arrayList

来自分类Dev

分割字节数组然后在Python中将其转换为字符串的有效方法

来自分类Dev

Java的8:如何字符串转换为地图<String,字符串>?

来自分类Dev

在Python中将多行字符串转换为csv

来自分类Dev

在Python中将字符串转换为ctypes.c_ubyte数组的有效方法

来自分类Dev

将字符串转换为ArrayList <String>

来自分类Dev

如何在Java中有效地将二进制字符串转换为二进制字节数组?

来自分类Dev

如何在SQL Server 2008中将字符串日期转换为有效的日期格式?

来自分类Dev

无法在Java中将String转换为String []

来自分类Dev

在Java中将ArrayList <String>对象转换为整数

来自分类Dev

如何在javascript中将字符串转换为有效日期

来自分类Dev

如何在Android中将JSONObject转换为字符串数组或ArrayList <String>

来自分类Dev

在Groovy中将String转换为arrayList

来自分类Dev

分割字节数组然后在Python中将其转换为字符串的有效方法

来自分类Dev

在powershell中将字符串转换为格式化的日期时间时出错“字符串未被识别为有效的日期时间”

来自分类Dev

在python 3中将字符串转换为有效的wordpress url以供请求库使用

来自分类Dev

将有效的 JSON 字符串转换为 Java 中的 JSON 对象,以便我可以对其进行索引

Related 相关文章

  1. 1

    在Python中将字符串转换为ctypes.c_ubyte数组的有效方法

  2. 2

    在Java中将字符串转换为ArrayList <String>

  3. 3

    在Android中将String转换为Arraylist <string>

  4. 4

    如何在Java中有效地将二进制字符串转换为二进制字节数组?

  5. 5

    在C#中将定界字符串转换为字典<string,uint>

  6. 6

    从Scala字符串转换为java.lang.String

  7. 7

    Python中将带空格的字符串转换为MySql的DateTime的最有效方法

  8. 8

    将JAXBElement <String>值转换为Java字符串

  9. 9

    将java.util.ArrayList [String]转换为json数组字符串

  10. 10

    如何在javascript中将字符串转换为有效日期

  11. 11

    如何在golang中将字符串从接口转换为[] string?

  12. 12

    如何在go中将[] [2] string转换为map [string]字符串?

  13. 13

    在Groovy中将String转换为arrayList

  14. 14

    分割字节数组然后在Python中将其转换为字符串的有效方法

  15. 15

    Java的8:如何字符串转换为地图<String,字符串>?

  16. 16

    在Python中将多行字符串转换为csv

  17. 17

    在Python中将字符串转换为ctypes.c_ubyte数组的有效方法

  18. 18

    将字符串转换为ArrayList <String>

  19. 19

    如何在Java中有效地将二进制字符串转换为二进制字节数组?

  20. 20

    如何在SQL Server 2008中将字符串日期转换为有效的日期格式?

  21. 21

    无法在Java中将String转换为String []

  22. 22

    在Java中将ArrayList <String>对象转换为整数

  23. 23

    如何在javascript中将字符串转换为有效日期

  24. 24

    如何在Android中将JSONObject转换为字符串数组或ArrayList <String>

  25. 25

    在Groovy中将String转换为arrayList

  26. 26

    分割字节数组然后在Python中将其转换为字符串的有效方法

  27. 27

    在powershell中将字符串转换为格式化的日期时间时出错“字符串未被识别为有效的日期时间”

  28. 28

    在python 3中将字符串转换为有效的wordpress url以供请求库使用

  29. 29

    将有效的 JSON 字符串转换为 Java 中的 JSON 对象,以便我可以对其进行索引

热门标签

归档