簡體   English   中英

帶有 toString Java 的 Arraylist

[英]Arraylist with toString Java

我一直在嘗試使用toString方法創建一個ArrayList 我的ArrayList充滿了整數,我想創建 2 個東西。 但老實說,我只是堅持使用toString方法。 往下看更多!

class Main {
    public static ArrayList<Integer> primes() {
        ArrayList<Integer> numbers = new ArrayList<Integer>();

        numbers.add(2);
        numbers.add(3);
        numbers.add(5);
        numbers.add(7);
        numbers.add(11);

        return numbers;    
    }

    public static String toString(ArrayList<Integer> numbers) {

    }

    public static void main(String[] arguments) {
        System.out.println(toString(primes()));
    }
}

把它放在你的toString方法中:

public static String toString(ArrayList<Integer> numbers) {
    // numbers = [2, 3, 5, 7, 11]
    return numbers.stream()
        .map(String::valueOf)
        .collect(Collectors.joining("-"));
}

2-3-5-7-11

    public static String toString(ArrayList<Integer> numbers)
    {
        StringBuilder sb = new StringBuilder();
        for (Integer i : numbers)
        {
            sb.append(i);
            sb.append('-');
        }
        sb.deleteCharAt(sb.length() - 1);
        return sb.toString();
    }

請按以下步驟操作:

public static String toString(ArrayList<Integer> numbers) {
    StringBuilder sb = new StringBuilder();
    for (Integer i : numbers) {
        sb.append(i).append("-");
    }
    return sb.substring(0, sb.length() - 1);
}

輸出:

2-3-5-7-11

您需要覆蓋 ArrayList 對象繼承的 toString() 方法。

    ArrayList<String> myList = new ArrayList<String>(){
        @Override
        public String toString(){
            String myString = "";
            for(int x = 0; x < this.size(); x++) {
                if(x == this.size() - 1) {
                    myString += this.get(x);
                }else {
                    myString += this.get(x) + "-";
                }
            }
            return myString;
        }
    };

要調用您的 toString() 方法,只需照常進行,例如:

myList.toString();

暫無
暫無

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

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