|
|
|
Подскажите как упростить программу.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые форумчане. Вопрос заключается в следуещем, пишу программу на языке java , наши исходные данные 1) map коллекция - имеет такой вид map<Integer,String>, и двумерный массив textMas[ ] [ ] каторый заполнен номером параметра и именеим текста, нужно сделать map<Integer,List<String> из массива , где номер параметра из массива совпадает с ключем из мапы выглядит все примерно так map<Integer,Strint> 1 Параметр1 2 Параметр2 и textMas[ ] [ ] 1 Текст1 1 Текст2 2 Текст3 3 Текст4 нужно из массва сделать мапу textMap<Integer,List<String> где ключем является номер параметра, а значением является список текстов через 2 цикла делать нельзя , так как параметров и текстов большое количество. Вот сообственно и вопрос, как можно это организовать не прибегая к двойному циклу хотя бы идеи подкиньте. ----------- Вот пример. for (Integer entry : getParametersMap().keySet()) { for (int i = 0; i <sizeText; i++) { if (entry.equals(textsMas[0][i])) { textsList.add(textsMas[1][i].toString()); } } textsMap.put(entry, textsList); textsList = new ArrayList<>(); } У меня вышло так, но такой алгоритм явно не подходит, так как может быть 100000 параметров и 200000 текстов , и он будет проверять 100000 по 200000, это очень долго ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 04:10 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=124&tid=2125173]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
17ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 307ms |

| 0 / 0 |
