在arraylist中查找重复元素

Jig*_*uff 0 java arraylist duplicates lexicographic

我想知道是否有办法在arraylist中找到重复的元素.对于我正在尝试做的更多上下文,我有一个字符串的arraylist.每个字符串都包含有关MP3文件的信息.他们有一个标题,作曲家,以及由'&'字符分隔的运行时间(例如Friday&Rebecca Black&666).

根据运行时间,arraylist已经被快速排序了.但是,我还需要对arraylist进行排序,这样如果歌曲的运行时间相等,它们应该在标题上按字典顺序排列,然后在作曲家上如果标题相同也是如此.

我希望能够在arraylist中找到重复的运行时间,以便我可以使用该compareTo方法按字母顺序排序,就像我需要的那样.我已经实现的方法getTime,getTitle,getComposer即提取从整体字符串的相关信息.有没有办法可以在一个新的方法中做到这一点alphabetical,或者甚至更好的方法是我可以将它合并到我的快速排序算法中,这样我就不必再搜索排序的arraylist了?

谢谢.

DNA*_*DNA 7

您需要更改Comparator以进行排序,以便在出现平局(相同的运行时间)时查看标题和作曲家.看到:

 java.util.Collections.sort(List list, Comparator c) 
Run Code Online (Sandbox Code Playgroud)

特别是主要方法:

int compare(Object o1, Object o2) 
Run Code Online (Sandbox Code Playgroud)