经过长时间在线搜索这个主题后,我找不到合适的答案。
我是最近的java学习者,每天我都会遇到令人兴奋的事情要学习。最近,我一直在学习数据结构,现在了解Big-O理论。我确实理解了知道数据结构及其实现的重要性,无论它是LinkedList还是BST。
在处理真实的Java项目时,编写数据结构类或使用SDK提供的JAVA数据结构API是否常见?
在IDE中,如果我说实现Java的本机LinkedList,我可以访问它的所有本机方法,这使得事情变得快速而简单。
我确信有些人可能需要扩展这些类以适应某些任务。
答案 0 :(得分:1)
链表是一种无聊的数据结构。您可以做的事情很少,实际上会以任何有意义的方式改进或扩展。一旦你开始寻找更有趣的数据结构,比如缓存不经意的搜索树,或者可以堆叠的堆,或者可以连接的deques,或者2-3个手指树,如果你仔细研究它们,你可能会发现更有可能做有趣的事情,实现他们(或他们的一部分)自己,并熟悉他们的结构。直接实现事物而不是仅仅为了做到这一点而使用公共API是不可能完成任何事情的,但是如果你能看到一种方法来实现它更好,那就是另一个故事。
答案 1 :(得分:0)
通常,您可以编写自己的数据结构来对数据进行分组。您可以在类中使用java集合,并且您可能拥有类的java集合,通常不会编写自己的集合类。
e.g。
// pseudo code only
class Plane
{
...
private string id;
private string type;
private List<Passengers> passengers;
...
}
...
List<Plane> fleet = ...;
答案 2 :(得分:0)
我目前正在使用Eclipse,如果我说实现Java的本地LinkedList,我可以访问它的所有本机方法,这使得事情变得快速而简单。
在实践中,它通常只是让它变得快速而简单&#34;打破你的代码。一般来说,几乎可以肯定只使用内置的Java集合类型,因为
编写自己的低级数据结构几乎不是一个好主意。