簡體   English   中英

如何根據 integer 的值將整數數組轉換為字符串數組?

[英]How do I convert an array of integers to an array of strings based on the value of the integer?

我有一個整數數組,我正在使用一種方法進行隨機化,我想使用該整數數組轉換

    int[] prizesUnshuffled = {0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5};
    RandomizeArray(prizesUnshuffled);
    String[] prizesString = (generateStringArray(prizesUnshuffled));

例如,我想要的是未洗牌的數組

    String[] prizesString = {PrizeA, PrizeA, PrizeA, PrizeB, PrizeB, PrizeB, PrizeC, PrizeC, PrizeC, PrizeD, PrizeD, PrizeD, PrizeE, PrizeE, PrizeE, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF};

抱歉,如果我不擅長解釋這一點,但我不知道如何做到這一點,因為我是使用 arrays 的新手。

Java 8 的 Stream API 可以使這成為一個微不足道的單行:

int[] arr = { 1, 2, 3, 4, 5 };
String[] arr_toString = Arrays.stream(arr).boxed().map(x -> "Prize" + x).toArray(String[]::new);

如果您無法訪問 stream API,或者更喜歡其他東西,您也可以這樣做:

int[] arr = { 1, 2, 3, 4, 5 };
String[] arr_toString = new String[arr.length];

for (int i = 0; i < arr.length; ++i) {
    arr_toString[i] = "Prize" + arr[i];
}
public String[] generateStringArray(int[] prizesUnshuffled) {
    // Create string array of same size as we are going to return the same size
    String[] stringArr = new String[prizesUnshuffled.length];
    String prepend = "Prize";

    // Sort the prizesUnshuffled as it's been randomized by RandomizeArray
    Arrays.sort(prizesUnshuffled);

    // Iterate till there are items in prizesUnshuffled
    for (int i = 0; i < prizesUnshuffled.length; i++) {
        // Concat the string with prizedUnshuffled
        // Replace it in generate string array
        stringArr[i] = prepend + prizesUnshuffled[i];
    }
    return stringArr;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM