Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Map, состоящая из List / 11 сообщений из 11, страница 1 из 1
05.03.2019, 16:09
    #39782572
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
Всем привет!

Мне необходима Map, в которой 1 Key будут соответствовать 2 Value.
Вот такой вариант работает c массивом из String:
Код: java
1.
Map<Locale, String[]>


Но мне нужно хранить экземпляры класса Alphabet в первом Value.
Почему не работает такой вариант?:
Код: java
1.
Map<Locale, List<Alphabet, String>> locales = new HashMap<>();
...
Рейтинг: 0 / 0
05.03.2019, 16:23
    #39782589
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
Molasarсоответствовать 2 Value.всегда ровно 2?
...
Рейтинг: 0 / 0
05.03.2019, 16:24
    #39782590
Valentin Kolesnikov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
MolasarВсем привет!

Мне необходима Map, в которой 1 Key будут соответствовать 2 Value.
Вот такой вариант работает c массивом из String:
Код: java
1.
Map<Locale, String[]>


Но мне нужно хранить экземпляры класса Alphabet в первом Value.
Почему не работает такой вариант?:
Код: java
1.
Map<Locale, List<Alphabet, String>> locales = new HashMap<>();



Вам нужен Tuple класс.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class Tuple<A, B> {
    private final A first;
    private final B second;

    public Tuple(final A first, final B second) {
        super();
        this.first = first;
        this.second = second;
    }

    public static <A, B> Tuple<A, B> create(final A a, final B b) {
        return new Tuple<A, B>(a, b);
    }

    public A fst() {
        return first;
    }

    public B snd() {
        return second;
    }

    @Override
    public String toString() {
        return "(" + first + ", " + second + ")";
    }
}



Хорошего Вам дня!
...
Рейтинг: 0 / 0
05.03.2019, 16:24
    #39782591
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
Да, всегда 2
Petro123Molasarсоответствовать 2 Value.всегда ровно 2?
...
Рейтинг: 0 / 0
05.03.2019, 16:58
    #39782618
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
Valentin KolesnikovTuple+1
...
Рейтинг: 0 / 0
05.03.2019, 17:24
    #39782629
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
Идею понял. Спасибо.

Valentin KolesnikovMolasarВсем привет!

Мне необходима Map, в которой 1 Key будут соответствовать 2 Value.
Вот такой вариант работает c массивом из String:
Код: java
1.
Map<Locale, String[]>


Но мне нужно хранить экземпляры класса Alphabet в первом Value.
Почему не работает такой вариант?:
Код: java
1.
Map<Locale, List<Alphabet, String>> locales = new HashMap<>();



Вам нужен Tuple класс.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class Tuple<A, B> {
    private final A first;
    private final B second;

    public Tuple(final A first, final B second) {
        super();
        this.first = first;
        this.second = second;
    }

    public static <A, B> Tuple<A, B> create(final A a, final B b) {
        return new Tuple<A, B>(a, b);
    }

    public A fst() {
        return first;
    }

    public B snd() {
        return second;
    }

    @Override
    public String toString() {
        return "(" + first + ", " + second + ")";
    }
}



Хорошего Вам дня!
...
Рейтинг: 0 / 0
05.03.2019, 17:36
    #39782637
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
Molasar,

Отучись коммент писать перед цитатой.
...
Рейтинг: 0 / 0
06.03.2019, 05:32
    #39782767
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
Valentin KolesnikovВам нужен Tuple класс.

Tuple в production соде это плохо. Очень тяжело потом это читать и понимать, что за фигня здесь лежит.
Лучше создать конкретный класс с говорящим именем и без generics
...
Рейтинг: 0 / 0
06.03.2019, 13:05
    #39782932
alex55555
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
MolasarПочему не работает такой вариант?:
Код: java
1.
Map<Locale, List<Alphabet, String>> locales = new HashMap<>();


Всё работает, только некоторые не умеют считать количество типизирующих аргументов.
...
Рейтинг: 0 / 0
06.03.2019, 15:42
    #39783037
Пылинка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
alex55555,
это просто трэш какой-то. И ведь вчера смотрел - никто не возразил.
...
Рейтинг: 0 / 0
06.03.2019, 15:44
    #39783040
Пылинка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Map, состоящая из List
Пылинка,
Ты забыл посоветовать использовать "ровно 2 Map".
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Map, состоящая из List / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]