【问题标题】:Add alphabets to List Java [duplicate]将字母添加到列表 Java [重复]
【发布时间】:2020-07-16 12:48:39
【问题描述】:

我想创建一个包含每个字母 5 次的字母列表。我尝试了一个代码,它成功了,

public class AlphabetsTest {
    public static void main(String[] args) {
        List<Character> alphabetList = new ArrayList<>();
        for (int i=0; i<3; i++){
            char chr='a';
            if (i==1)
                chr = 'b';
            if (i==2)
                chr = 'c';
            for (int j=0; j<5; j++){
                alphabetList.add(chr);
            }
        }
    }
}

但我必须为更多字母添加多个 if 条件。有没有更好的方法来避免它。

【问题讨论】:

    标签: java arraylist java-8


    【解决方案1】:

    你可以使用char循环如下,

    List<Character> alphabetList = new ArrayList<>();
        for(char chr = 'a'; chr <= 'c'; chr++){
            for (int j=0; j<5; j++){
                alphabetList.add(chr);
        }
    }
    

    您可能还想使用Collections.nCopies 来避免内部循环,

    for(char chr = 'a'; chr <= 'c'; chr++){
        alphabetList.addAll(Collections.nCopies(5, chr));
    }
    

    【讨论】:

    • 简直太棒了。第二个选项就像一个冠军。只需 2 行代码。
    • 需要更多帮助。如果我想要 5 a、10 b、20 c 怎么办?我们如何管理这个
    • 您可以使用 char 和 count 创建一个 Map 并使用上述逻辑对其进行迭代。
    • 我没听明白。
    猜你喜欢
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2017-11-19
    • 2019-06-24
    • 2015-12-04
    相关资源
    最近更新 更多