Convert HashMap to ArrayList with identical sort
我有以下问题:我有一个HashMap
我正在生成一个iReport报告,但是为了将数据发送到报告,我将HashMap转换为ArrayList:
1 2 3
| List <BeanRelEstatisticaMateriaPrima > test = new ArrayList <BeanRelEstatisticaMateriaPrima > (dataBeanList. values ());
JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource (test ); |
但在进行这种转换时,圣职任命正在丧失。 在hashmap中,我按字母顺序排列,例如:
(A,B,C,D,E)但是在ArrayList中得到(D,A,E,C,B)
有没有办法通过保持排序顺序与HashMap完全相同来转换为ArrayList?
-
"在我按字母顺序排列的哈希映射中"我不相信你这样做。 Hashmaps没有订购保证。 也许你按顺序插入它们; 但是,它们将以迭代顺序插入到列表中。
-
尝试使用LinkedHashMap而不是hashMap。
-
TreeMap还保留了插入顺序。
-
@gawi不,它没有。 它按照自然顺序或提供的比较器进行排序。
-
你可能是对的,我用它来确定秩序,但是如果是插入顺序则从不注意,thx用于指出它
-
感谢大家的帮助。 我使用了LinkedHashMap,这是正确的。 谢谢。
HashMaps不保证订单。 如果要保留插入顺序,请使用LinkedHashMap。
-
感谢大家的帮助。 我使用了LinkedHashMap,这是正确的。 谢谢。