朋友们,我是 Java-Collection 的新手。我想问一下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.sort method期望一个集合实现List<T>
界面。这是有道理的,因为列表有一个定义的顺序。换句话说,您的程序可以完全控制列表中内容的顺序。
与列表不同,集合可以是无序的,或指定他们自己的具体订购。这就是为什么尝试排序Set
没有意义:是集合而不是您的程序定义了集合中项目的顺序。您的程序可以提供自定义该排序的逻辑,但您不能采用现有的集合,并从外部对其项目强制采用不同的顺序。
如果您想按排序顺序获取集合中的所有项目,请将集合复制到数组列表中,并对结果进行排序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)