TreeSet添加元素的时候,是根据compareTo 方法来比较排序和判断是否相等.如果返回0,则认为这两个对象在同以位置,是同一个对象.也就是说TreeSet 只会添加compareTo
返回0的对象集中的一个对象.
为了避免这种情况,需要像下面这样写
@Override public int compare(CountryCode cc1, CountryCode cc2) { int cpr= cc1.getCountry().compareToIgnoreCase(cc2.getCountry()); if(cpr==0){ cpr=cc1.getOperator().compareToIgnoreCase(cc2.getOperator()); if(cpr==0){ cpr=cc1.getCode().compareTo(cc2.getCode()); } } return cpr; }
时间: 2024-10-13 11:46:57