2016-07-28 6 views
0

Я пытаюсь создать TreeMap, который способен хранить несколько компонентов (Row), сопоставленных с одним ключом. Моя текущая декларация TreeMap является:JAVA альтернатива объявлению TreeMap

Map<String, List<Row>> rowmap = new TreeMap<String, List<Row>>(); 

С такого рода заявления я могу легко использовать этот метод, чтобы добавить:

rowmap.get(combinedKey).add(rowlst); 

Это хорошо работает в моей локальной машине. Проблема из-за какой-то вопрос на сервере Tomcat Живого, я не мог использовать декларации, упомянутые выше, чтобы объявить карту, он бросает эти ошибки:

Syntax error on token "<", (expected 
Syntax error, insert ")" to complete Expression 
Syntax error on token "<", (expected 
Syntax error on token "(", invalid Expression 

Так я заявил так:

Map rowmap = new TreeMap(); 

это решает предыдущую ошибку, но я не мог использовать rowmap.get(combinedKey).add(rowlst);, чтобы добавить несколько значений в ключ, потому что .add определен в List not TreeMap, из моего понимания мне нужно объявить TreeMap таким образом: Map<String, List<Row>> rowmap = new TreeMap<String, List<Row>>();, чтобы иметь возможность использовать rowmap.get(combinedKey).add(rowlst);.

Было бы здорово, если бы кто-нибудь мог предложить обходной путь для решения этой проблемы. Я открыт для всех предложений. Спасибо большое!

EDIT: Tomcat версия: 5.5.9 Java версия: 1.6.0_41-b02

+1

Почему Live Tomcat Server пытается скомпилировать Java-программу ??? У меня такое чувство, что вы неправильно определили проблему. Я думаю, вам нужно сосредоточиться на отслеживании и исправлении этого, вместо того, чтобы наносить ущерб вашему Java-коду. – ajb

+1

@ajb JSP возможно? –

+0

И я согласен, что производственная среда не должна составлять код Java. –

ответ

0

Вместо использование метода добавить положила для карт. put (ключ K, значение V), например: rowmap.put (объединенныйKey, rowlst);

+0

Im планирует сопоставить несколько значений с ключом, но с картами. put (ключ K, значение V) перезапишет предыдущее значение, сопоставленное с ключом. Спасибо за предложение – User420

+0

Затем вы можете сначала получить значения и добавить к ним свой новый список и снова сохранить ключ к ключу: Список rowvalues ​​= (List) rowmap.get (key); rowvalues.addAll (rowlst); rowmap.put (key, rowvalues); – athina

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