Строитель TreeMap - PullRequest
2 голосов
/ 21 мая 2009

У меня проблемы с конструкторами TreeMap. У меня есть класс с 2 TreeMap<String, Client> внутри. Дерево, отсортированное по имени, и другое, отсортированное по номеру. (Класс клиента: имя строки, номер int, ...)

private TreeMap<String, Client> nameTree;
private TreeMap<Integer, Client> numberTree;

Как мне построить конструкторы для этого класса? Пока я написал это:

public ManagerTreeMap(){
        nameTree = new TreeMap<String, Client>(new StringComparator()); 
        numberTree  = new TreeMap<Integer, Client>(new IntegerComparator()); 
    }

Моя главная проблема - это конструктор "TreeMap (Comparator c)". Могу ли я написать два компаратора? если нет, что мне делать?

    public ManagerTreeMap(Comparator<String> cp){
       nameTree = new TreeMap<String, Client>(cp);          
    }

    public ManagerTreeMap(Comparator<Integer> cpt){
       nameTree = new TreeMap<Integer, Client>(cpt); 
    }

Ответы [ 2 ]

3 голосов
/ 21 мая 2009

Кажется, вам не нужны пользовательские компараторы.

public ManagerTreeMap(){
    nameTree = new TreeMap<String, Client>(); 
    numberTree  = new TreeMap<Integer, Client>(); 
}
2 голосов
/ 21 мая 2009

Может

public ManagerTreeMap(Comparator<String> cs, Comparator<Integer> ci){
   nameTree = new TreeMap<String, Client>(cs);          
   numberTree  = new TreeMap<Integer, Client>(ci); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...