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[]可能不是有益的.
| 归档时间: |
|
| 查看次数: |
8563 次 |
| 最近记录: |