Java 如何根据密钥对linkedhashmap进行排序。这里我使用了一个对象作为键

Java 如何根据密钥对linkedhashmap进行排序。这里我使用了一个对象作为键,java,android,collections,linkedhashmap,Java,Android,Collections,Linkedhashmap,我正在使用链接的hashmap填充可扩展列表中的值。我成功地填充了它们。这里的键是菜单项,值是相应的修饰符。我放置了两个按钮,用于增加和减少菜单项的数量。因为是键,我删除它们并更新它们,然后再次将它们放入列表中。这次他们在最后一行插入。如何将它们放置在删除前的相同位置? 更新密钥的函数 public void putminusquantity(int pos) { try { SaleDetailsMenuItems aa = (S

我正在使用链接的hashmap填充可扩展列表中的值。我成功地填充了它们。这里的键是菜单项,值是相应的修饰符。我放置了两个按钮,用于增加和减少菜单项的数量。因为是键,我删除它们并更新它们,然后再次将它们放入列表中。这次他们在最后一行插入。如何将它们放置在删除前的相同位置? 更新密钥的函数

public void putminusquantity(int pos)
    {
        try
        {
            SaleDetailsMenuItems aa = (SaleDetailsMenuItems)listDataChild.keySet().toArray()[pos];  
            List<ModifList> modlist =listDataChild.get(aa);
            //modlist.add(mli);
            listDataChild.remove(aa);
            int qty = Integer.parseInt(aa.getQuantity());
            float priced = Float.parseFloat(aa.getPrice());
            //Double finaltotal1 = Math.round( priced * 100.0 ) / 100.0;
            //Toast.makeText(getApplicationContext(), finaltotal1.toString(), Toast.LENGTH_SHORT).show();
            System.out.println(qty);
            float priced1 = priced / qty;
            if(qty>1)
            {
                qty--;
                priced = priced1 * qty;
                String quantity1 = Integer.toString(qty);
                String price1 = Float.toString(priced);
                aa.setQuantity(quantity1);
                aa.setPrice(price1);
                listDataChild.put(aa, modlist);

                listviewAdapter = new ExpandableListAdapter(getApplicationContext(), listDataChild);
                list.setAdapter(listviewAdapter);
                listviewAdapter.notifyDataSetChanged();
                resetquantity();
                settotal();
            }
            else
            {
                Toast.makeText(getApplicationContext(), "Invalid Quantity", Toast.LENGTH_SHORT).show();
            }
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }
}我正在使用这个类的对象作为地图中的键

TreeMap 

是按键对地图进行排序的方法。可能这将帮助您

可能重复@R9J抱歉,这是Linkedhash地图,我在这里使用一个对象作为密钥。
TreeMap