当前位置: 首页 > 面试题库 >

collections.sort方法仅用于列表的集合类型吗?

武骁
2023-03-14
问题内容

朋友,我是Java系列的新手。我想问一下Collections.sort()方法是否仅用于/通过List类型的集合。我无法对以下代码进行排序:

Collection collection=new HashSet();
collection.add("zebra");
collection.add("frog");
collection.add("bison");
collection.add("puma");
Collections.sort(collection); //error...why??

我知道这HashSet是用于独特的元素。但是有什么办法可以对这个集合进行排序吗?


问题答案:

该错误是因为Collections类仅支持列表。

public static <T extends Comparable<? super T>> void sort(List<T> list)

要对您的收藏进行排序,您可以尝试执行以下操作:

Collection collection=new HashSet();
collection.add("zebra");
collection.add("frog");
collection.add("bison");
collection.add("puma");
ArrayList<String> temp = new ArrayList<String>(collection);
Collections.sort(temp);
collection = new HashSet(temp);

希望这可以帮助。



 类似资料:
  • 为什么只适用于s而不适用于s?有什么特别的原因吗?

  • 使用Python3的函数注释,可以指定同构列表(或其他集合)中包含的项的类型,以便在PyCharm和其他IDE中进行类型暗示? int列表的伪python代码示例: 我知道使用Docstring是可能的... ... 但如果可能的话,我更喜欢注释样式。

  • 本文向大家介绍用Java集合中的Collections.sort方法如何对list排序(两种方法),包括了用Java集合中的Collections.sort方法如何对list排序(两种方法)的使用技巧和注意事项,需要的朋友参考一下 第一种是list中的对象实现Comparable接口,如下: 测试一下: 输出结果如下 a b 第二种方法是根据Collections.sort重载方法来实现,例如:

  • 问题内容: 我在寻找大多数人在Hibernate中建立一对多关联时用作其收藏类型。我正在维护的旧版应用程序仅使用bag,但将其作为代码列表保留。关联的表具有id字段,因此idbag似乎更合适,但是文档建议使用Set。 编辑:我错误地引用了文档建议一套。实际上,官方文档在所有馆藏类型上都含糊不清。我发现有些 网站似乎在推断Set是最常见的,而我正在阅读的Hibernate书明确说明了有关set的内容

  • 我有字符串的比较器,它被转换成日期。当我将这个比较器传递给集合时。sort()方法我得到了java。lang.IllegalArgumentException:比较法违反其总合同!。 我读过一些关于这个例外的文章,但我真的不明白为什么会出现这个例外。知道吗?

  • 本文向大家介绍python集合类型用法分析,包括了python集合类型用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了python集合类型用法。分享给大家供大家参考。具体分析如下: python的集合类型和其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersect