Java中的数据结构是什么?
在Python中,如果您了解标准的“list”、“tuple”、“set”和“dictionary”,就可以走得很远。这些是任何优秀的Python程序员都应该知道的基本数据结构Java中的数据结构是什么?,java,list,data-structures,dictionary,set,Java,List,Data Structures,Dictionary,Set,在Python中,如果您了解标准的“list”、“tuple”、“set”和“dictionary”,就可以走得很远。这些是任何优秀的Python程序员都应该知道的基本数据结构 这些数据结构的Java等价物是什么?还有其他值得注意的数据结构吗?遗憾的是,Java中没有本机元组,大多数情况下,您会使用: 列表:ArrayList(是列表,列表是集合) Set:HashSet(是一个集合,集合是一个集合) 字典:HashMap(是一个映射,但映射不是集合) 大体上看一下Java集合: 对于并发性
这些数据结构的Java等价物是什么?还有其他值得注意的数据结构吗?遗憾的是,Java中没有本机元组,大多数情况下,您会使用:
- 列表:ArrayList(是列表,列表是集合)
- Set:HashSet(是一个集合,集合是一个集合)
- 字典:HashMap(是一个映射,但映射不是集合)
有很多外部库(Guava、Apache等)你可以用LinkedList、HashMap、HashSet做很多事情,我们还有一个字典 学习任何新语言的最好方法就是阅读代码。GitHub承载大量开源Java应用程序。您可以在此处查看最新版本:有帮助吗 Java的所有数据结构,包括集合、列表,都是在中定义的。HashMap本质上等同于字典
至于元组等价物,请查看。在Java中,他有一个一刀切的工具:类。对于使用元组或字典在Python中解决的大多数问题,在Java中编写一个自定义类,其中包含实例变量、构造函数、getter和setter。因此,在使用Java时,请准备编写一些样板文件 至于数据结构,默认的是
ArrayList
、HashSet
和HashMap
。有分类版本:TreeSet
和TreeMap
——当您需要它们时,它们非常有用
当您需要接近金属性能时,您将求助于阵列
在Java中,您也喜欢内置的并发性,然后它变得复杂起来:有性能选项,如
ConcurrentHashSet/Map
,还有围绕普通集合的同步包装器:collections/synchronizedSet/Map/List
(这些方法返回包装对象)。在Java中,有Set
,列表
和映射
接口(您必须选择要使用的实现)。不幸的是,tuple
没有等价物。请检查java collections framework@nhahtdh,除了不可修改的列表
,您希望等价物tuple
如何工作?这不是一个严肃的问题。别偷懒,这在5秒钟内就可以搞定了。@arne.b:你可以通过编写一个泛型对来“模拟”元组,并将其重新用于更高维度的元组。不过它很难看。如果元组要重复出现很多次,我会选择这个类。那个字典类已经过时了。它看起来像是从1.6开始掉落的。最新的搜索结果指向了它的位置。正如其他人所提到的,学习是一个好主意。