Data structures groovy中的映射是否保持顺序?

Data structures groovy中的映射是否保持顺序?,data-structures,groovy,Data Structures,Groovy,groovy中的映射是否保持了提供数据的顺序?即,在对键进行迭代时,是否始终保持顺序 农场=[爱达荷州:[鸭子,狗],俄亥俄州:[鸡肉,鸭子],新墨西哥州:[狗,牛]]是的。当您在groovy中使用map-literal语法时,它会创建LinkedHashMap的一个实例,该实例将保持顺序。这可以从中看出 只是一张纸条 根据我的经验,如果你需要维护地图的顺序,那么你可能没有以正确的方式使用它。没有多少真正的用例需要这种类型的映射 这正是我的想法,我习惯了地图不具备这样的质量。我看到了一些groo

groovy中的映射是否保持了提供数据的顺序?即,在对键进行迭代时,是否始终保持顺序


农场=[爱达荷州:[鸭子,狗],俄亥俄州:[鸡肉,鸭子],新墨西哥州:[狗,牛]]

是的。当您在groovy中使用map-literal语法时,它会创建LinkedHashMap的一个实例,该实例将保持顺序。这可以从中看出

只是一张纸条


根据我的经验,如果你需要维护地图的顺序,那么你可能没有以正确的方式使用它。没有多少真正的用例需要这种类型的映射

这正是我的想法,我习惯了地图不具备这样的质量。我看到了一些groovy教程,它们似乎假设了这样一种行为,这让我感到惊讶。虽然我同意您对映射使用的看法,但groovy以这种方式实现映射似乎意义重大。这是groovy利用该特性的方式吗?groovy语法中有一个普遍的理念,即它“只工作”。您想从映射中获取值吗?map.get'myValue',map['myValue']和map.myValue都是有效的。想要一个子串吗?myStr[5..10]有效。这门语言充满了糖分,这让它变得沉重,但同时也是一门发展起来的奇妙语言。这只是groovy开发人员让您的生活更轻松的另一种方式。LinkedHashMap的性能影响最小,而这只是map文本可以做的另一件事。