私はItemオブジェクトのLinkedHashMapを持っています。 ItemにitemIdとColorがあります。マップを並べ替えてグループ化し、マップが挿入シーケンスに基づいてソートされ、グループ化された色とともにソートされるようにしたい。マップをグループ化/ソート<key, value > by values(Java)
は私のロジックをソートし、グループ化した後の例
Map<String, ItemVO> itemChildMap = new LinkedHashMap<String, ItemVO>();
ItemVO item1 = new ItemVO("98091", "Red");
ItemVO item2 = new ItemVO("32456", "Black");
ItemVO item3 = new ItemVO("12323", "Green");
ItemVO item4 = new ItemVO("78956", "Red");
ItemVO item5 = new ItemVO("11231", "Green");
ItemVO item6 = new ItemVO("10098", "Black");
ItemVO item7 = new ItemVO("23410", "Red");
itemChildMap.put("98091", item1);
itemChildMap.put("32456", item2);
itemChildMap.put("12323", item3);
itemChildMap.put("78956", item4);
itemChildMap.put("11231", item5);
itemChildMap.put("10098", item6);
itemChildMap.put("23410", item7);
を発揮しましょう、マップは以下のようにする必要があります:
{98091=ItemVO [itemId='98091', color='Red']
, 78956=ItemVO [itemId='78956', color='Red']
, 23410=ItemVO [itemId='23410', color='Red']
, 32456=ItemVO [itemId='32456', color='Black']
, 10098=ItemVO [itemId='10098', color='Black']
, 12323=ItemVO [itemId='12323', color='Green']
, 11231=ItemVO [itemId='11231', color='Green']
}
基本的には、マップが赤い色を有する第一、すべての項目オブジェクトが含まれている必要があります(持っています最初に挿入される)、次に黒色を有するアイテムオブジェクト、および緑色を有する最後のアイテムオブジェクトに挿入される。
私はかつて同じことが必要でした。これは助けました:[https://stackoverflow.com/a/2581754/7399631](https://stackoverflow.com/a/2581754/7399631) – mumpitz
[値(Java)でマップをソート]の可能な複製(https ://stackoverflow.com/questions/109383/sort-a-mapkey-value-by-values-java) –
グルーピング後もグループ内に広告掲載オーダーを保持しますか? –