字符串列表VS字符串数组VS Stringbuilder

Kat*_*hir 5 java

哪个是基于性能选择存储字符串列表的最佳选择.

哪一个提供最佳性能.

谢谢.

bco*_*rso 8

ArrayList是一个很好的通用目的List,通常会胜过一个Array或多个LinkedList.以下是时间复杂度的细分(V类型,i是指数):

       Type | add(V) | remove(V) | get(i) | 
-------------------------------------------
      Array |  O(n)  |    O(n)   |  O(1)  |
  ArrayList |  O(1)  |    O(n)   |  O(1)  |
 LinkedList |  O(1)  |    O(1)   |  O(n)  |
Run Code Online (Sandbox Code Playgroud)

通常,您可以使用此规则:

数组:如果您知道元素的确切数量并且不需要添加或删除元素,请使用.

列表:如果您不知道元素的确切数量并需要添加或删除元素,请使用此选项.

StringBuilder完全不同.StringBuilder是一个可变的字符串.你可以把它想象成List<Character>.从这个意义上讲,它可能不是你需要的,所以要比较它List<String>或者String[]可能不是有益的.