gpt4 book ai didi

java - 如何传递给方法 TreeSet 或 HashMap 并显示它?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:50:43 25 4
gpt4 key购买 nike

我有这样的方法:

public void show(Object o)
{
//show content of object
}

我想将 TreeSet 或 HashMap 传递给它。但这是一个不同的迭代,我的意思是,当我想显示 TreeSet 的内容时,我使用该代码:

 while ( iter.hasNext() )
{
System.out.println( iter.next());
}

但是当我有一个 HasMap 时,我会这样打印它:

Iterator iterator = map.keySet().iterator();  

while (iterator.hasNext()) {
String key = iterator.next().toString();
String value = map.get(key).toString();

System.out.println(key + " " + value);
}

当我不知道用户传递的是 TreeSet 还是 HashMap 时,有没有办法显示集合的内容?我不能在 show 方法中进行任何转换(这不是重点)。有什么想法吗?

最佳答案

不是直接的,但是如果你的方法被声明为:

public <T> void show(Iterable<T> iterable) {
for(T t: iterable) {
System.out.println(t);
}
}

然后你可以像这样使用它:

show(set);
show(map.entrySet());

不完全是您想要的,但是 MapSet 本质上是不同的,您不能真正以相同的方式(多态)对待它们。

关于java - 如何传递给方法 TreeSet 或 HashMap 并显示它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13502855/

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