java - 在java中以列表格式打印数组列表,不带循环

标签 java arrays arraylist printing

我正在尝试重新定义方法 toString(),该方法必须返回一个字符串,以打印名为 Card 且类型为 Card 的数组列表。因为 toString() 必须返回一个字符串,所以我无法使用循环来一一打印出每个元素,但我想以列表格式打印数组列表。基本上,有谁知道如何使 toString() 将数组列表卡作为字符串返回而不使用循环?

卡片数组列表定义

    ArrayList <Card> cards = new ArrayList<Card>();

卡片类创建者

    Card card1 = new Card(String suit, String rank, int value);

toString方法

    public String deckToString(){
        return cards;
    }

应该打印什么

[suit, rank, value]
[suit, rank, value]
[suit, rank, value]
[suit, rank, value]
 etc.

当前打印的内容

[suit, rank, value] [suit, rank, value] etc.

最佳答案

如果我理解正确的话, 你希望每个值都在自己的行上。 换句话说,通过换行符而不是逗号来连接值。

public String deckToString() {
    return String.join("\n", cards.stream().map(Card::toString).collect(Collectors.toList()));
}

关于java - 在java中以列表格式打印数组列表,不带循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42752533/

相关文章:

java - 如何找到 JTextPane 文档的默认属性?

java - 将参数传递给 View

java - 选定的组合框值两次添加到数组列表中

java - Observable|观察者模式的基本实现

java - 更改Hadoop HDFS文件名

根据项目索引将数组分成 N 组的算法(应该很简单)

javascript - Socket.io 数据到 HTML 文本

c - 交换字符串数组中的元素

java - 使用另一个类的 getter 方法中的值

java - 对 ArrayList 进行选择排序