相关疑难解决方法(0)

为什么List中没有tail()或head()方法来获取last或first元素?

我最近与同事讨论了为什么Java中的List接口没有head()tail()方法.

为了实现这样的功能,必须编写一个看起来像这样的包装器:

public E head() {
 if (underlyingList == null || underlyingList.isEmpty())
  return null;

 return underlyingList.get(0);
}


public E tail() {
 if (underlyingList == null || underlyingList.isEmpty())
  return null;

 return underlyingList.get(underlyingList.size()-1);
}
Run Code Online (Sandbox Code Playgroud)

我不知道所有的List实现,但我认为至少在LinkedList和ArrayList中,获取最后一个元素(常量时间)应该是非常简单的.

所以问题是:

是否有一个特定的原因为什么为任何List实现提供tail方法不是一个好主意?

java api list

22
推荐指数
3
解决办法
2万
查看次数

标签 统计

api ×1

java ×1

list ×1