我想知道时间复杂度是多少 [in bigO(n)
的符号]ArrayList
to Array
转换:
ArrayList assetTradingList = new ArrayList();
assetTradingList.add("Stocks trading");
assetTradingList.add("futures and option trading");
assetTradingList.add("electronic trading");
assetTradingList.add("forex trading");
assetTradingList.add("gold trading");
assetTradingList.add("fixed income bond trading");
String [] assetTradingArray = new String[assetTradingList.size()];
assetTradingArray.toArray(assetTradingArray);
同样,按以下方式列出数组的时间复杂度是多少:
方法1使用Arrays.asList
:
String[] asset = {"equity", "stocks", "gold", "foreign exchange","fixed
income", "futures", "options"};
List assetList = Arrays.asList(asset);
方法2使用collections.addAll
:
List assetList = new ArrayList();
String[] asset = {"equity", "stocks", "gold", "foreign exchange", "fixed
income", "futures", "options"};
Collections.addAll(assetList, asset);
方法3addAll
:
ArrayList newAssetList = new ArrayList();
newAssetList.addAll(Arrays.asList(asset));
我对来回复制的开销感兴趣的原因是因为在典型的面试中,会出现以下问题given an array of pre-order traversal elements, convert to binary search tree
等等,涉及arrays
. With List
提供一整套操作,例如remove
等等,这将使使用代码变得简单List
than Array
.
在这种情况下,我想为我使用list
代替arrays
说“我首先将数组转换为列表,因为这个操作的开销并不大(希望如此)”。
建议来回复制元素的任何更好的方法array to list
那会更快也很好。
Thanks