java哪种方法最好?

时间:2013-07-23 06:46:09

标签: java collections

要求

  1. 使用给定的Map<String, String>
  2. 百分比编码每个键/值条目
  3. 按编码键排序条目
  4. 将它们作为单个字符串附加,例如?a=b&c=d
  5. 方法1

    1. 准备TreeMap
    2. 将这些编码的键/值条目放入此地图。
    3. 在迭代地图时连接输出字符串。
    4. 方法2

      1. 准备一个预测大小的ArrayList(source-map.size * 2)
      2. 在找到正确的位置时插入这些编码键/值
      3. 在迭代列表时连接输出字符串
      4. 方法3

        1. 准备LinkedList
        2. 在找到正确的位置时插入这些编码键/值
        3. 在迭代列表时连接输出字符串
        4. 哪种方法最好?

1 个答案:

答案 0 :(得分:5)

渐近复杂度,n是键值对的数量:

方法1:O(n log n)

方法2:O(n ^ 2)

方法3:O(n ^ 2)

第一种方法比其他方法更快,因为合理的大n,但是当钥匙很少时,其他方法可能会更快。