java – ArrayList上的多个排序条件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – ArrayList上的多个排序条件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1774字,纯文字阅读大概需要3分钟。
内容图文
![java – ArrayList上的多个排序条件](/upload/InfoBanner/zyjiaocheng/724/8ae712b633be4b4593a33b158760e01a.jpg)
我被赋予了创建具有所有常用功能的MP3目录的任务.我有一个MP3_Track,MP3_UserInterface和Main类.
public class MP3_Track implements Comparable<MP3_Track>{
private int trackNo;
private String artistName;
private String albumName;
private String trackLength;
MP3_Track(int no, String artist, String album, String length){
this.trackNo = no;
this.artistName = artist;
this.albumName = album;
this.trackLength = length;
// setters & getters
@Override
public String toString(){
return (" Track Number : " + trackNo + "\n Artist Name : " + artistName + "\n Album Name : " + albumName +"\n Track Length : " + trackLength);
}
@Override
public int compareTo(MP3_Track aTrack){
int result;
try{
result = artistName.compareTo(aTrack.artistName);
}
catch(UnsupportedOperationException e){
throw new UnsupportedOperationException("Not supported here.");
}
return result;
}
}
我的主要课程包括:
static void deleteTrack()
static MP3_Track addTrack()
static void moveTrack()
static void exploreTracks()...etc
主要根据用户在控制台输入的内容调用相关方法.
如:
Collections.sort(myTracks);
myTracks是MP3_Tracks的集合,目前mt MP3_Track会覆盖compareTo()方法但是你可以看到它只按artistName对它进行排序!我希望用户可以选择如何对音轨进行排序等等.我想也许我可以在MP3_Track中有一个数据库,它可以标记要实现的类型,然后在compareTo方法中返回所需的结果.这个解决方案看起来有些麻烦,我想到的另一种可能是实现自定义界面!
任何关于光滑的解决方法的建议都非常感谢???
非常感谢我的进步,伟大的网站BTW ..
解决方法:
您需要查看Collections.sort()方法.您可以传递Comparator接口的实现,它将使用它进行排序.
有关示例,请参阅http://www.vogella.com/articles/JavaCollections/article.html#collectionssort
>收藏文档
http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html
>比较者文档
http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html
内容总结
以上是互联网集市为您收集整理的java – ArrayList上的多个排序条件全部内容,希望文章能够帮你解决java – ArrayList上的多个排序条件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。