すべてのnullを削除しようとしていますが、最後のキーのtreeSetがnullの場合はnullが残っています。だから私はそれがnullの場合最後のエントリを削除する方法を考えていた。これはtreeMapなので、最後の要素はtm.lastKey()でアクセスすることで取得できますが、そのメソッドは存在しないようです。だからこの質問は二重です。まず、最後のものを含むすべてのnullを削除する方法があります.2番目の方法は、.lastKey()メソッドはどこですか?null値を持つtreeMapエントリを削除する
public class Timing {
private static Map<String, SortedSet> tm = new TreeMap<String, SortedSet>();
public static Map manipulate() {
SortedSet ss = new TreeSet();
ss.add("APPL");
ss.add("VOD");
ss.add("MSFT");
tm.put("2019-09-18",null);
tm.put("2019-09-21",ss);
tm.put("2019-09-22", null);
tm.put("2019-09-20",ss);
tm.put("2019-09-19", null);
tm.put("2019-09-23",null);
return tm;
}
public static void printMap() {
for (String s: tm.keySet()) {
System.out.println(s + ": " + tm.get(s));
}
}
// Will delete all but the last one
public static void deleteNull() {
Set set = tm.entrySet();
Iterator i = set.iterator();
Map.Entry me = (Map.Entry) i.next();
// there is no tm.lastKey()??
while(i.hasNext()) {
if (me.getValue() == null) {
i.remove();
}
me = (Map.Entry) i.next();
}
}
}
生の種類は使用しないでください。 – shmosel
あなたの 'tm'は' Map <> 'です。自然に 'TreeMap'のメソッドは表示されません。 – Kayaman
ああはい...正しい –