对于Java分配,我必须使用ArrayList<String>
接口按Comparable
长度排序。
我所做的,它的工作原理是在实现Comparable
的类中创建一个自定义对象,并将CompareTo()
设置为使用长度。
没关系,它确实有效。
我只是想知道是否有更简单的方法。
我知道Java中的String
已经实现了Comparable
接口。
但自然顺序是词典或字母,而不是长度。
我不知道如何在不必创建对象的情况下为类CompareTo()
的实例实现不同的String
。
有办法吗?
或者我错过了逻辑?
(我无法使用Comparator
,我必须使用Comparable
界面。)
答案 0 :(得分:4)
我对那些将他们的课程变成荒谬和完全不切实际的制度的机构感到沮丧。
在练习中,您将使用Comparator<String>
,这样您就可以灵活地使用lambdas对结果进行排序。它也非常简洁。
在原则上,您所描述的是唯一的其他逻辑方法。实际解决此问题的唯一方法是创建自己的类,封装所需的String
实例,并对 进行排序。
答案 1 :(得分:1)
听起来你的包装对象是满足愚蠢要求的最简单方法。只需编写一个比较所包含字符串长度的方法。