Помогите с решением задачи по коллекции map, буду очень благодарен

 
 
 
Сообщения:3
Вводится несколько строк по два слова в каждой - имена двух друзей. Дружба - вещь взаимная(с двух сторон!!!). Иначе люди - не друзья.

Необходимо вывести ответ в соответствии с примерами ниже - список друзей. Список состоит из имен людей, список выстроен в лексографическом порядке(по алфавиту) по возрастанию, после имени человека идет фраза " дружит с : ", далее следует список имен его друзей, выстроенный так же по возрастанию.

Sample Input 1:

Mike Nike
Oleg Petr
Mike Petr
Ivan Oleg
Sample Output 1:

Ivan дружит с : Oleg
Mike дружит с : Nike Petr
Nike дружит с : Mike
Oleg дружит с : Ivan Petr
Petr дружит с : Mike Oleg
 
 
Сообщения:697
стандартная вещь - Map<String, Set<String>>.


Map<String, Set<String>> friends = new TreeMap();


public void addFrienr( String friend1, String friend2)
{
    Set<String> friendList = friends.get(friend1);

    if(friendList == null)
    {
        friendList = new TreeSet();
        friends.put(friend1, friendList);
    }

    friendList.add(friend2);

    friendList = friends.get(friend2);

    if(friendList == null)
    {
        friendList = new TreeSet();
        friends.put(friend2, friendList);
    }

    friendList.add(friend1);

}



TreeMap и TreeSet имеют встроенную сортировку, кроме того сет не хранит дубликатов, что экономит тебе кучу кода.

дальше сам.
 
 
Сообщения:3
windruf:
стандартная вещь - Map<String, Set<String>>.


Map<String, Set<String>> friends = new TreeMap();


public void addFrienr( String friend1, String friend2)
{
    Set<String> friendList = friends.get(friend1);

    if(friendList == null)
    {
        friendList = new TreeSet();
        friends.put(friend1, friendList);
    }

    friendList.add(friend2);

    friendList = friends.get(friend2);

    if(friendList == null)
    {
        friendList = new TreeSet();
        friends.put(friend2, friendList);
    }

    friendList.add(friend1);

}



TreeMap и TreeSet имеют встроенную сортировку, кроме того сет не хранит дубликатов, что экономит тебе кучу кода.

дальше сам.


А как это можно все в один метод запихать?
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет