java - 根据java中的字母将按字母顺序排序的列表拆分为子列表

标签 java list

我在 java 中有一个排序列表,我只想根据列表每个索引处的第一个字母将此列表拆分为子列表。例如 列表包含

{
calculator,
catch,
doll,
elephant
}

我希望子列表为

{calculator,catch}
{doll}
{elephant}

我不想放置 26 个 if 语句,有什么有效且正确的方法可以做到这一点。该列表已按字母顺序排序。 任何帮助将不胜感激。

最佳答案

您可以使用 Java 8 Streams。不幸的是,这种方法没有利用已经排序的列表。 list 必须是包含您的元素的列表。

Map<Character, List<String>> collect =
        list.stream().collect(Collectors.groupingBy(elem -> elem.charAt(0)));

关于java - 根据java中的字母将按字母顺序排序的列表拆分为子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42692499/

相关文章:

java - 如何获取 java.rmi.Remote 实例的状态

c# - 在 F# 中使用 SqlDataReader

android - 如何修复 IndexOutOfBoundsException : Index: 1, Size: 1 in android

python - 从 Python 中的列表列表中删除重复项

python - 将元素追加到列表中

python - 从 Python 列表中查找最近的 5 个日期

java - JButtons 在 MouseOver 之前不会出现

java - 在@Formula注释中使用保留字

java - 带有 pem 证书的 RestTemplate

java - Minecraft 1.9 模组 block 渲染错误