在句子上附加单词

时间:2017-05-01 02:39:46

标签: java

以下方法的运行时间有何不同?

public String merge(String[] words, String[] more) {   
  ArrayList<String> sentence = new ArrayList<String>();   
  for (String w : words) sentence.add(w);   
  return Arrays.toString(sentence.toArray());    
} 

假设上面的列表没有重新调整大小 - 时间复杂度与下面的方法相比如何?

public String makeSentence(String[] words) {   
StringBuffer sentence = new StringBuffer();   
for (String w : words) sentence.append(w);   
return sentence.toString();   
}  

有没有更好的方法?

1 个答案:

答案 0 :(得分:0)

最大的区别在于Arrays.toString()可能希望返回一个由语言封闭的,以逗号分隔的单词列表,而使用StringBuffer将返回您完全放入其中的内容。试试看吧。当一种方法或另一种方法的结果甚至可能不是您想要的时候,时间复杂性的问题就变得毫无意义了。