Усовершенствованное письмо для группировки двух коллекций с Java, такими как использование API Stream или другого расширJAVA

Программисты JAVA общаются здесь
Anonymous
 Усовершенствованное письмо для группировки двух коллекций с Java, такими как использование API Stream или другого расшир

Сообщение Anonymous »

У меня есть два списка: один содержит «категория», а другая содержит более подробную информацию, такую ​​как: < /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»