在Java中不使用数组按长度排序字符串
我需要获取命令行中给出的一组字符串,并使用可比较的界面首先按长度排序,如果是平局,则按词汇顺序排序 我遇到的第一个问题是在不使用数组的情况下对命令行中给出的单词进行分组。然后我需要一个关于如何按长度排序的指针 我的程序设置方式是: 1.使用main方法初始化“stringy” 2.类'LengthSortableString',该类实现comparable并具有接受字符串参数的构造函数。还有一个getContents方法,它返回一个字符串并且没有参数,还有一个compareTo方法在Java中不使用数组按长度排序字符串,java,string,Java,String,我需要获取命令行中给出的一组字符串,并使用可比较的界面首先按长度排序,如果是平局,则按词汇顺序排序 我遇到的第一个问题是在不使用数组的情况下对命令行中给出的单词进行分组。然后我需要一个关于如何按长度排序的指针 我的程序设置方式是: 1.使用main方法初始化“stringy” 2.类'LengthSortableString',该类实现comparable并具有接受字符串参数的构造函数。还有一个getContents方法,它返回一个字符串并且没有参数,还有一个compareTo方法 感谢您在不编
感谢您在不编写代码的情况下提供的帮助 使用
Set
保存单词-只需add()
当需要订购时,创建一个列表
和addAll()
集合
将collections.sort()
与自定义的比较器一起使用,该比较器的compare()
方法进行您描述的比较;如果两个字符串的长度相同,则返回两个字符串之间的比较,否则返回长度的比较
如果输入内容不包含重复项,您可以跳过集合,从一开始就使用列表。这是家庭作业问题吗?是否允许您使用内置集合(如List
)?听起来像是家庭作业。。。不管是哪种方式,都可以看看Josh Bloch写的一本名为《有效Java》的书。第25项将启动您通过命令行传入的字符串作为数组(String[]args)传入,因此它们已经在数组中