TreeSet的与众不同

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;
    }
原文地址:https://www.cnblogs.com/predisw/p/4972120.html