Мне просто интересно, как проверить, содержит ли TreeMap> значение в Java? Для примера:Как проверить, содержит ли TreeMap <String, ArrayList <String>> значение? в Java
/*I have TreeMap<String,ArrayList<String>> map with these elements
* {color = ["red","blue","green"], shape=["square", "circle"]}
*/
System.out.println(map.containsValue("square")); //This return false
System.out.println(map.values().contains("square")); //This return false also
Я всегда получаю ложь, когда я использую containsValue() или содержит метод(). Кто-нибудь знает, почему и может дать мне предложения, пожалуйста?
Благодаря Ed
The 'Карта # значения()' возвращает 'Collection>', а не 'ArrayList ' или так, как вы, казалось, ждать. Строка '' square "' никогда не может сравниться с любым 'ArrayList '. –
BalusC
Есть ли причина, по которой вы используете 'List', а не' Set'? У вас есть дубликаты? Я просто спрашиваю, потому что метод 'contains' в' List' равен 'O (n)', и тот же метод в 'Set' равен' O (1) '. –
@ Borris the Spider: hmm..actually значения в списке будут уникальными, поэтому я думаю, что использование set лучше .. Thx для его восхождения .. будет ли он таким же образом, как и выше, хотя, чтобы увидеть, действительно ли эта карта содержит значение? Thx – zangetsKid