gpt4 book ai didi

java - 如何在序列化为 GWT AutoBean 时保留 LinkedHashMap 的顺序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:35:32 25 4
gpt4 key购买 nike

我尝试过使用 MapHashMapLinkedHashMap 作为 AutoBean 工厂的类型,并且总是在序列化后更改初始元素顺序。

我不想发送额外的 ArrayList 来保存订单数据。有没有办法强制 AutoBean 在 Map 中保持顺序?

最佳答案

http://docs.oracle.com/javase/6/docs/api/java/util/Map.html

The order of a map is defined as the order in which the iterators on the map's collection views return their elements. Some map implementations, like the TreeMap class, make specific guarantees as to their order; others, like the HashMap class, do not.

GWT 不会对基于Map 的类进行任何更改。出于性能原因,Map 及其许多子类不保持插入顺序。 LinkedHashMap,按照设计,确实保持其插入顺序。也就是说,当然,假设您开始 LinkedHashMap 并且不是从另一种类型的 Map 构造它,这可能实际上不会保留其插入期间的顺序,导致 LinkedHashMap 的顺序与您预期的顺序不同。

我想知道为什么您无论如何都需要保留初始顺序,如果这是您想要的,为什么还要使用 Map

关于java - 如何在序列化为 GWT AutoBean 时保留 LinkedHashMap 的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com