`Java``List`方法`size`如何工作?

时间:2010-02-05 06:52:57

标签: java list

在Java中,有一个List接口和size()方法来计算List的大小。

  • 当我致电List.size()时,它是如何计算的?
  • 是线性计算,还是确定了计数,只是在size()时返回了值?

2 个答案:

答案 0 :(得分:20)

大小定义为列表中的元素数。实现没有指定size()成员函数如何操作(迭代成员,返回存储的计数等),因为List是一个接口而不是一个实现。

通常,大多数具体的List实现将在本地存储它们的当前计数,使得大小为O(1)而不是O(n)

答案 1 :(得分:7)

java.util.List是一个接口,而不是一个类。对于不同的具体实现,size()方法的实现可能不同。在size()实现上java.util.List方法的合理实现是将类型int的实例成员初始化为零,并在项目添加到/从中删除时适当地增加/减少它Listsize()方法可以简单地返回上述实例成员。这当然只是一个例子。有关完整的详细信息,您可以随时查看内置List实现的来源。所有源代码已经可以使用多年了。