以字母顺序按字母顺序打印列表

问题描述 投票:0回答:1

我有一个要按字母顺序排列的字符串列表,但我想使用相应的字母标题进行打印。例如:

["Blue","Cat in hat","Zebra","2 Words"]

## B
    Blue
## C
    Cat in hat
## Z
   Zebra
## [0-9]
   2 Words

什么是最好的方法?它应该不区分大小写,因此“ hello”和“ Hello”都在H下。

java sorting alphabetical
1个回答
0
投票

这将帮助您:

注意:假设列表已排序。否则,您需要先进行排序。

for (String str : stringList) {

    if (Character.isDigit(str.charAt(0))) {
        if (!Character.isDigit(previousChar)) {
        System.out.println("## [0-9]");
        }
    } else if (Character.toUpperCase(str.charAt(0)) != previousChar) {

        System.out.println("## " + Character.toUpperCase(str.charAt(0)));
    }

    previousChar = Character.toUpperCase(str.charAt(0));

    System.out.println(str);
}
© www.soinside.com 2019 - 2024. All rights reserved.