У меня есть два списка: один содержит «категория», а другая содержит более подробную информацию, такую как: < /p>
List categoryList = new ArrayList(3);
categoryList.add("cat");
categoryList.add("dog");
categoryList.add("bull");
categoryList.add("other");
List detailList = new ArrayList();
detailList.add("cat a");
detailList.add("cat b");
detailList.add("dog a");
detailList.add("dog b");
detailList.add("dog c");
detailList.add("bull a");
detailList.add("bird a");
detailList.add("bird b");
Map map = new HashMap();
for (String category : categoryList) {
map.put(category,new ArrayList());
}
boolean isFind = false;
for (String detail : detailList) {
isFind = false;
for (String category : categoryList) {
if (StrUtil.containsIgnoreCase(detail, category)) {
map.get(category).add(detail);
isFind = true;
break;
}
}
if (!isFind) {
map.get("other").add(detail);
}
}
System.out.println(map);
< /code>
Выход:
{oreth = [Bird A, Bird B], Cat = [Cat A, Cat B], Dog = [Dog A, Dog B, Dog c], bull = [bull a]} < /p>
Я использую цикл, но мне интересно, есть ли какой -то расширенный способ сделать это? Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/671 ... -stream-ap
Усовершенствованное письмо для группировки двух коллекций с Java, такими как использование API Stream или другого расшир ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как сделать усовершенствованное обнаружение столкновений? [дублировать]
Anonymous » » в форуме Python - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-