gpt4 book ai didi

java - 如何遍历对象的HashSet并在ToString方法中打印每个对象的String值?

转载 作者:行者123 更新时间:2023-12-02 12:18:25 25 4
gpt4 key购买 nike

HashSet<Soldier> soldiers;           // it has name, rank, description

@Override
public String toString(){
return "Team: " + teamName + "\n" + "Rank: " + getRanking(soldiers) + "\n"
+ "Team Members Names are: "+"\n" + soldiers.iterator().hasNext();
//last line doesn't work
// I also tried soldiers.forEach(System.out::println) but doesn't work
}

任何人都可以请教我如何在重写的 toString 方法中打印哈希集中的所有名称。谢谢

最佳答案

如果您使用java 8。使用stream API很简单:

public class Test {

public static void main(String[] args) {
Set<String> strings = new HashSet<>();

strings.add("111");
strings.add("113");
strings.add("112");
strings.add("114");

String contactString = strings.stream().map(String::toString).collect(Collectors.joining(","));
}

}

如果您想更改分隔符,您应该将 Collections.joining(",") 代码替换为您需要的代码。另请参阅 StringJoiner 提供的文档

对于具有方法 getName() 的类 Soldier:

Set<Soldier> soldiers = new HashSet<>();
String soldierNames = soldiers.stream().map(Soldier::getName).collect(Collectors.joining("\n"));

您将得到下一个结果:

Din

Mark

David

... values from the soldiers set

关于java - 如何遍历对象的HashSet并在ToString方法中打印每个对象的String值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45982772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com