Tag: 多图

jacksonJSON – 反编译Commons MultiMap

我想使用JSON序列化和反序列化MultiMap(Apache Commons 4)。 要测试的代码段: MultiMap map = new MultiValueMap(); map.put(“Key 1”, “Val 11”); map.put(“Key 1”, “Val 12”); map.put(“Key 2”, “Val 21”); map.put(“Key 2”, “Val 22”); ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writeValueAsString(map); MultiMap deserializedMap = mapper.readValue(jsonString, MultiValueMap.class); 序列化工作正常,并产生我期望的格式: {“Key 1”:[“Val 11″,”Val 12″],”Key 2”:[“Val 21″,”Val 22”]} 不幸的是,反序列化产生的结果不是它看起来的样子:在反序列化之后,Multimap在ArrayList中包含一个用于键值的ArrayList,而不是包含值的键的单个ArrayList。 由于MultiMap实现了Map接口,因此调用多映射的put()方法来添加在json字符串中找到的数组,从而产生了这个结果。 如果将新值放入非现有键,MultiMap实现本身将再次创建一个ArrayList。 有没有办法绕过这个? 感谢您的帮助!

如何对番石榴复合图进行排序? (KEY = DATE)

我有一个 Multimap multimap = ArrayListMultimap.create(); 来自番石榴。 我想知道如何在多图中排序日期键。 目前,我这样做: Iterator dateItr = multimap.keySet().iterator(); Set treeSet = new TreeSet(Collections.reverseOrder()); 然后我循环遍历treeSet迭代器。 知道如何避免这种规避吗?

使Multimap仅在Java中按键排序

我想要一个仅基于键排序的cgccMultimap 。 不应对值进行排序。 我试图用番石榴的TreeMultimap构建一些东西,但我不能使用它,因为值类型没有实现Comparable 。 public class MyObject /* doesn’t implement Comparable */ { private String name; private int score; // Getters/setters are implemented public static Function myObjectToScore { @Override public Integer apply (MyObject o) { return o.score; } } public static Multimap indexOnScore(Iterable i) { Multimap m = Multimaps.index(i, myObjectToScore()); // Do the sort […]