Получите ключ и значение из объекта карты и отправьте их на разные серверы. - PullRequest
0 голосов
/ 27 января 2012

У меня есть клиент-серверная архитектура, в которой есть клиент, подключенный к центральному серверу, а затем этот центральный сервер подключен к двум серверам (Server1 и Server2). Я передаю объект Map от клиента на CentralServer, используя класс Serializable. Затем в CentralServer я хочу получить этот объект карты и получить ключ и значение из них. Для этого я использую следующий код:

public void readObject(Map<String, byte[]> parObj)
{   
    for (String key : keys) 
    {
        if(parObj.containsKey(key) == true){
            foundAnyKey = true;
            byte[] values = parObj.get(key);
            //Do Something here
       }
   }
     if(foundAnyKey == true){
            //Do something here
     }
}

Поправь меня, если я ошибаюсь. Я делаю эту первую часть получения ключа и правильного значения?

Вторая часть моего вопроса - как я могу отправить ключи, которые, например, начинаются с «a-f», на сервер1 и ключи, начинающиеся с «f-z», на сервер2. Как я могу это сделать?

У меня в основном есть следующий код:

System.out.println("Starting Server");
        ServerSocket ss = new ServerSocket(7776);  
        System.out.println("Server Started"); 
        Socket s = ss.accept();
        InputStream is = s.getInputStream();                    
        ObjectInputStream ois = new ObjectInputStream(is);      
        MapObject mo = (MapObject) ois.readObject();
        s.close();

Здесь я получаю свой клиент MapObject. Теперь я хочу получить ключ и значение от этого объекта. С наилучшими пожеланиями

Ответы [ 2 ]

1 голос
/ 27 января 2012

Если вы спрашиваете о «упорядоченной» карте, тогда вы посмотрите на LinkedHashMap (если вам нужен порядок вставки) или TreeMap (где вы определяете CompareTo () метод, чтобы иметь правило сортировки).Затем вы можете просто зациклить ключи с помощью метода

Set keys = map.keySet();

И затем вы можете выполнить итерацию по (предварительно заказанному) набору ключей.

0 голосов
/ 27 января 2012

Можете ли вы уточнить, в чем проблема в вашем вопросе?Вы говорите, что хотите получить ключ и значение, но похоже, что вы делаете оба в коде.Можете ли вы указать на проблему, когда код не выполняет то, что вы хотите, чтобы он делал?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...