java - 以相反的顺序打印出任何集合中的项目?

标签 java collections

我的Data Structures and Problem Solving using Java 书中有以下问题:

Write a routine that uses the Collections API to print out the items in any Collection in reverse order. Do not use a ListIterator.

我把它放在这里并不是因为我想让别人帮我做作业,我只是似乎无法理解它要求我编写代码的确切内容!

当它让我写一个“例程”时,它是在寻找一个单一的方法吗?我真的不明白如何让一个方法适用于所有不同类型的集合(链表、队列、堆栈)。

如果有人能指导我正确的方向,我将不胜感激。

最佳答案

不管这个问题没有多大意义,因为一半的集合没有 gstable 排序或有固定排序(即 TreeSet 或 PriorityQueue),您可以使用以下语句以反向自然顺序打印集合的内容:

List temp = new ArrayList(src);
Collections.reverse(temp);
System.out.println(temp);

我本质上是创建一个数组列表,因为列表是唯一可以任意重新排序的结构。您将 src 集合传递给构造函数,该构造函数使用集合自然顺序中的 src 内容初始化列表。然后将列表传递给 Collections.reverse() 方法,该方法反转列表,最后打印它。

关于java - 以相反的顺序打印出任何集合中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/196628/

相关文章:

JavaFX 检测来自 WebEngine 的 404 响应

java - 如何让按钮隐藏 3 秒?

java - 使用Facebook SDK 4在Android中加载Facebook个人资料图片时获取异常

Java 8 - 如何在不创建临时变量的情况下从 List<T> 和 new T 创建 Iterable?

c# - 如何在不遍历每个循环的情况下从字典对象中获取所有键(仅键)

javascript - Java 中的级别数组

java - Bukkit 插件 - 监听器未运行?

java - 为什么 HashMap<String, Object> 不接受 HashMap<String, List> 实例?

python - 如何在不删除重复项的情况下找到最常用的单词?

c# - NHibernate 集合映射哪一个更好?