我有一个数组列表如下一些规则排序文本
100 AAA 500-1 Lorem Ipsum
100 BBB 500-2 Lorem Ipsum
101 AAA 500-1 Lorem Ipsum
101 AAA 500-2 Lorem Ipsum
100 BBB 500-3 Lorem Ipsum
我想这是归类为
101 AAA 500-1 Lorem Ipsum
101 AAA 500-2 Lorem Ipsum
100 AAA 500-1 Lorem Ipsum
100 BBB 500-2 Lorem Ipsum
100 BBB 500-3 Lorem Ipsum
首先,通过数(101,100)下降。
二,由三个字母单词(AAA,BBB)升序。
第三,由升序第三列(500-1,500-2,500-3)
我可以通过空间分割的每个元素,并获得单词和排序。但任何人都可以请帮助我以任何其他方式或已知的算法? 如果您需要更多信息,请让我知道。
预先感谢您。
我不是Java开发人员,但必须有在你的对象一些“排序”功能,它可以或许覆盖排序取决于多个条件...... – 2013-05-03 12:28:09
有没有具体的算法为“本”。任何分类最终都会归结为快速排序,泡泡或其他常用的顶级算法之一。它们都依赖于特定的“比较器”功能,尽管它负责指示两个给定值之间的差异。你所需要做的就是覆盖它。 – 2013-05-03 12:30:31
你可以为每一行创建一个对象并使其实现Comparable,并在'compareTo'方法中定义排序(或者像Dworza建议的那样使用比较器) – 2013-05-03 12:34:44