我的問題是非常基本的,但我不知道如何正確解決它。我有一個TreeSet,它使用基於實體名稱的比較器。但是,我可以改變這個名字。我如何強制重新排序TreeSet?基於可變屬性的TreeSet比較器
TreeSet<MyEntity> set = new TreeSet<MyEntity>(new BeanComparator("name"));
// bar < foo < xander
set.add(foo);
set.add(bar);
set.add(xander);
// resulting tree: _-foo-_
// bar xander
xander.setName("apple");
set.contains(xander); // -> false, since now neither 'foo' or 'bar' are equal to 'xander'
是否有一些set.relayout()
方法我應該打電話,還是我去談這全錯了?
否,後一種方法是更好地通知容器,首先是容易出錯。 –