user22261:
私は、インベントリマップを持っていると言います。
Map<String, Integer> inventory = new TreeMap<>()
そして、私はコンパレータでこれを行うだろうか、文字列の最後の文字で在庫をソートしたいですか?それは空の文字列だかどうかはどのようにエラーを処理するのでしょうか?
私はpero_hero:
あなたは、単純なコンパレータを定義することができます。
Comparator<String> comp = Comparator.comparing(s -> s.length() > 0 ? s.substring(s.length()-1) : "");
そして、あなたはそのコンパレータとツリーマップをインスタンス化することができます:
Map<String, Integer> map = new TreeMap<>(comp);
map.put("xxxa", 11);
map.put("pppb", 2);
map.put("lllc", 3);
map.put("iiid", 3);
この出力を取得するには:
{xxxa=11, pppb=2, lllc=3, iiid=3}