【发布时间】:2012-01-25 18:06:39
【问题描述】:
我的问题非常基本,但我不知道如何正确解决它。我有一个 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() 方法,还是我做错了?
【问题讨论】:
标签: java data-structures treeset