我是Java新手,在Java中寻找标准数据结构和算法库。
通过Google搜索,我遇到了JGL 和 JAL。 我发现大多数关于它们的讨论都是几年前的,例如http://www4.ncsu.edu/~kaltofen/courses/Languages/JavaExamples/jgl3.1.0/doc/index.html。然而,JGL似乎有一个新的网站http://www.recursionsw.com/products/JGL/JGL-collections-and-algorithms.html,而我还没有发现JAL(也许JAL已被纳入JGL?)。
它们是否是JDK的一部分,就像JDK中的Java集合一样?
我想知道它们是否被使用,在什么情况下它们比Java集合更好?感谢。
答案 0 :(得分:2)
不,JGL和JAL不是JDK的一部分。两者都非常陈旧,而且非常过时(例如,最后一次更改为Colt库,在JAL中已经超过10年了!)。 Java Collections远远优于JGL。
那些认为JGL优于Java Collections的人非常 错误。收藏时我做了详尽的性能比较 API被添加到Java中,它击败了JGL。事实并非如此 甚至接近。至于JGL在设计方面是否优越,那么,de gustibus non est disputandum。 JGL要大得多,并且有很多 较低的功率重量比,但对那些熟悉的人来说更熟悉 在STL。 - Josh Bloch
如果您需要实现Java的常用数学算法,我建议您查看Apache Commons Math library。如果您想要更高级的Java集合,请查看Google's Guava库(但是默认的Java集合非常好)。
答案 1 :(得分:1)
查看fastutil,它与java.util
集合可互操作,具有性能的原始特性,并包括未在JDK中实现的算法,即AVL树,大列表(>列表)。 2个大小)和阵列图。