我需要在命令行中获取一组字符串,并使用类似的接口首先按长度排序,并且在绑定的情况下,按照lexiographical顺序排序。
我遇到的第一件事就是在不使用数组的情况下对命令行中给出的单词进行分组。然后我需要一个关于如何按长度订购它们的指针......
我的程序设置方式是: 1.使用main方法的类'stringy' 2.类'LengthSortableString',它实现了可比较的并且有一个带字符串参数的构造函数。还有一个getContents方法,它返回一个字符串,没有参数,以及compareTo方法。
感谢您的帮助
答案 0 :(得分:1)
无需编写代码......
使用Set<String>
来保留这些字词 - 只需add()
即可。
在订购它们时,请创建一个List<String>
和addAll()
集合。
将Colllections.sort()
与自定义Comparator<String>
一起使用,其compare()
方法进行您所描述的比较;如果两个字符串具有相同的长度,则返回两个字符串之间的比较,否则返回长度的比较。
如果输入不会包含重复项,您可以跳过设置并从头开始使用列表。