2012-04-15 5 views
0

У меня есть pojo с именем Employee, теперь я хочу создать определенную пользователем коллекцию, которую я хочу разместить на карте. Пожалуйста, сообщите мне, как этого добиться.Создание пользовательской карты

public class Employee { 
    String name,job; 
    int salary; 

    public Employee(String n , String j, int t) { 
     this.name= n; 
     this.job=j; 
     this.salary= t;   
    } 

    @Override 
    public int hashCode() {  
     return name.hashCode()+job.hashCode()+salary;   
    } 

    @Override 
    public boolean equals(Object obj) { 
     Employee e = (Employee) obj;  
     return this.name.equals(e.name) && this.job.equals(e.job) 
        && this.salary == e.salary; 
    } 
} 
+0

Просто для справки посмотрите на пункты 7 и 8 [здесь] (http://java.sun.com/developer/Books/effectivejava/Chapter3.pdf) для реализации equals and hashcode – luketorjussen

ответ

0

Не знаете, что вы ищете. Если вы хотите, чтобы связать сотрудников с ключом (скажем, их название), вы можете сделать:

Map<String, Employee> employeeMap = new HashMap<String, Employee>(); 

Если вы хотите отобразить сотрудников на другое значение, вы можете сделать:

Map<Employee, MyOtherType> employeeMap = new HashMap<Employee, MyOtherType>(); 
+0

Я хочу хранить сотрудников в map ... что-то вроде этого .. Карта employeeMap = new HashMap (); employeeMap.put (a, «Сарал», «Тренер», «34000»); пожалуйста, сообщите мне, как достичь этого .. !!!! – Neera

+0

@ user1334074 Многие восклицательные знаки можно рассматривать как грубые. Пожалуйста, свяжитесь с нами – luketorjussen

+1

Сотрудник e = новый сотрудник («Сарал», «Тренер», 34000); employeeMap.put (e.getName(), e); – Attila

0

что-то как следующее: (?)

Collection<Employee> employees = new LinkedList<Employee>(); 
Map<String, Collection<Employee>> map = new HashMap<String, Collection<Employee>>(); 

........... 

//Now fill the map as following: 
List<Employee> employeesOfTheDepartment = new LinkedList<Employee>(); 
employeesOfTheDepartment.add(employee); 
map.put(employee.getDepartment(), employeesOfTheDepartment); 
+0

Я хочу хранить сотрудников на карте ... что-то вроде этого .. Карта employeeMap = new HashMap (); employeeMap.put (a, «Сарал», «Тренер», «34000»); пожалуйста, сообщите мне, как это сделать .. !!! – Neera

Смежные вопросы