Arraylist с toString Java - PullRequest
       2

Arraylist с toString Java

0 голосов
/ 20 февраля 2020

Я пытался создать ArrayList методом toString. мой 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()));
    }
}

Ответы [ 4 ]

2 голосов
/ 20 февраля 2020
    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();
    }
2 голосов
/ 20 февраля 2020

Поместите это в ваш 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

1 голос
/ 20 февраля 2020

Сделайте это следующим образом:

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
0 голосов
/ 20 февраля 2020

Вам необходимо переопределить метод toString (), который наследует объект ArrayList.

    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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...