Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 保留特殊订单/按地图排序_Java_Sorting_Dictionary_Comparator_Treemap - Fatal编程技术网

Java 保留特殊订单/按地图排序

Java 保留特殊订单/按地图排序,java,sorting,dictionary,comparator,treemap,Java,Sorting,Dictionary,Comparator,Treemap,我从数据库中获得了具有特殊顺序的listAA对象(按ask列排序) 现在,我将以与listAA相同的顺序从该列表中获取每个对象的相关数据。 当我尝试TreeMap或HashMap时,我丢失了这个特殊的排序。 我可以实现一个比较器,因为我在这个映射(树映射)中没有正确的特殊顺序的值了 例如: listAA has { 2, "x"; 3, "a"; 1, "b"; 10, "c" } 现在我需要一个带有键顺序的地图:2,3,1,10,而不是1,2,3,

我从数据库中获得了具有特殊顺序的
listAA
对象(按ask列排序)

现在,我将以与
listAA
相同的顺序从该列表中获取每个对象的相关数据。 当我尝试
TreeMap
HashMap
时,我丢失了这个特殊的排序。 我可以实现一个
比较器
,因为我在这个映射(
树映射
)中没有正确的特殊顺序的值了

例如:

listAA has {
    2,  "x"; 
    3,  "a"; 
    1,  "b"; 
    10, "c"
}
现在我需要一个带有键顺序的地图:
2,3,1,10
,而不是
1,2,3,10
。 我怎样才能做到这一点

我的代码是,尝试实现一个比较器,但我不能比较map中的值,因为我没有一些逻辑

SortedMap<ObjectA, List<ObjectB>> objectAWithObjectBvalues = new TreeMap<ObjectA, List<ObjectB>>(
    new Comparator<long>()
    {
           public int compare(long o1, long o2)
           {
               //i dont know special order anymore here
               return o1.compareTo(o2);
           } 
    }
);
SortedMap objectAWithObjectBvalues=newtreemap(
新比较器()
{
公共整数比较(长o1,长o2)
{
//我不知道这里还有什么特别的订单
返回o1。与(o2)相比;
} 
}
);
您可以使用:

映射接口的哈希表和链表实现,具有可预测的迭代顺序。[…]这通常是键插入映射的顺序

(我的重点)

您可以使用:

映射接口的哈希表和链表实现,具有可预测的迭代顺序。[…]这通常是键插入映射的顺序

(强调矿山)