我想知道是否有方法在数组列表中查找重复元素。有关我想要做的更多背景,我有一个字符串的数组列表。每个字符串都包含有关MP3文件的信息。他们有一个'&'字符(例如星期五& Rebecca Black & 666)分开的标题,作曲者和跑步时间。在数组列表中查找重复元素
数组列表已根据运行时间进行了快速排序。但是,我还需要对数组列表进行排序,以便如果歌曲的运行时间相同,则应在标题上将其按字典顺序排序,如果标题相同,则应在作曲程序中进行排序。
我希望能够在arraylist中找到重复的运行时间,以便我可以使用compareTo
方法根据需要按字母顺序排序。我已经实施了从整体字符串中提取相关信息的方法getTime
,getTitle
,getComposer
。有没有一种方法可以用alphabetical
这样的新方法做到这一点,或者更好的方法是我可以将它合并到我的快速排序算法中,这样我就不必再次搜索排序的数组列表了。
谢谢。
我想过这样做,但我不确定我应该比较哪一个数组列表元素。我正在使用类似于这里提到的第一个快速排序算法:[链接](http://en.wikipedia.org/wiki/Selection_algorithm#Optimised_sorting_algorithms),但分区方法只比较我和pivotValue。 – Jigglypuff 2011-05-27 20:01:17
噢,谢谢。我会研究这种方法。 – Jigglypuff 2011-05-27 20:02:40
您不必担心 - 比较器只需要能够正确比较任意两个元素,包括tie-breaks;你将它提供给Collections.sort(),它为你完成所有工作。 – DNA 2011-05-27 20:02:44