当前位置: 首页 > news >正文

网站建设和整改方案在wordpress中图标

网站建设和整改方案,在wordpress中图标,许昌定制网站建设代理,学影视后期大概多少钱泛型应用 - 卡拉 OK(四) 文章来源:《Head First Java》修炼感悟。 上文说到,解决了按歌名排序的问题后,老白立刻想到了按歌手名字排序的问题。 老白决定趁热打铁,尝试着实现自定义排序方式。 Collections…

泛型应用 - 卡拉 OK(四)

码老白
文章来源:《Head First Java》修炼感悟。

上文说到,解决了按歌名排序的问题后,老白立刻想到了按歌手名字排序的问题。 老白决定趁热打铁,尝试着实现自定义排序方式。

Collections 的另一种排序

老白查看了 Collections 另一个排序方法的定义,对参与比较的对象没有强制实现 Comparable 接口的要求,意味着任何类都可以进行比较:
Collections排序方法2sort() 方法说明中指出,需要使用指定的比较器,即 Comparator 接口提供的 compare() 方法。 我们再来看看 比较器接口是如何定义的:
Comparator比较器接口
Comparator 接口说明中指出,能够为没有自然顺序的对象集合提供排序操作。 如此就可以实现各种各样的比较器,而不会像 compareTo() 方法只能将自己和另一个同类型对象进行比较。

自定义的 Song 比较器

了解了带比较器接口的排序方法后,老白现在需要做三件事情:

  1. 创建 Comparator 内部类,实现 compare() 方法用于比较;
  2. 创建 Comparator 比较器对象;
  3. 调用 Collections 带比较器接口的重载方法。

再次修改代码,版本编号 v5.0:

/*** 文件:Karaoke5.java* * 描述:模拟 KTV 曲目清单,学习使用集合排序。* 版本:v5.0*/
import java.io.*;
import java.util.*;public class Karaoke5 {/*** 用于对歌手名字进行比较的内部类,实现了Comparator接口*/class ArtistCompare implements Comparator<Song> {// 对传入的Song对象的歌手名字的字符串进行比较// 并返回一个整数值给 Collections 的比较方法public int compare(Song one, Song two) {return one.getArtist().compareTo(two.getArtist());}}// 用来保存所有曲目的列表ArrayList<Song> tracks = new ArrayList<Song>();// 执行入口public void go() {loadSongs();// 原始顺序System.out.println("original: " + tracks);// 按曲目排序Collections.sort(tracks);System.out.println("by title: " + tracks);// 按歌手名字排序ArtistCompare ac = new ArtistCompare();Collections.sort(tracks, ac);System.out.println("by artist: " + tracks);}// 载入曲目文件private void loadSongs() {try {// 先不理会下面语句的含义,// 只需知道能读取 songs.txt 文件内容就可以了File file = new File("songs.txt");BufferedReader reader = new BufferedReader(new FileReader(file));String line = null;while ((line = reader.readLine()) != null) {addSong(line);}} catch (Exception e) {e.printStackTrace();}}// 解析曲目private void  addSong(String token) {String[] tokens = token.split("/");Song s = new Song(tokens[0], tokens[1], tokens[2], tokens[3]);tracks.add(s);}// 程序入口public static void main(String[] args) {new Karaoke5().go();}
}

编译执行:
按歌手名字排序很不错,现在按歌名、按歌手都可以排序了。

新的问题接踵而至...

随着 KTV 营业时间越来越久,曲目中偶尔会出现重复歌曲或者歌手。 那么这种重复数据又该如何处理呢? 老白又闲不住了…


《 上一篇 泛型应用 - 卡拉 OK(三)下一篇 HashSet 应用 - 卡拉 OK(五) 》
http://www.yayakq.cn/news/159976/

相关文章:

  • 基本的网站开发技术路线福建省网络公司排名
  • 小程序开发网站沈阳市建设工程质量检测中心网站
  • 南京网站设计公司济南兴田德润优惠吗wordpress更改固定链接404
  • 网站无法打开网页是怎么回事现在什么网站做推广比较好
  • 大学生做家教比较好的网站网站优点
  • wordpress 主题 名站全球跨境电商平台排名
  • 网站建设 源代码归属工业网站建设
  • 自己公司做公益网站怎么弄上海新闻坊
  • 设计网站页面鉴赏技巧ppthtml网站地图
  • 东莞p2p网站开发价钱做擦边网站 服务器
  • 网站加ico做网站详细步骤
  • 网站建设禁止谷歌收录的办法怎样用ps做企业网站
  • 红色大气宽屏企业网站源码 带后台中英文双语外贸企业网站源码优化百度seo
  • 银川市住房和城乡建设局网站公司网站怎么自己制作
  • 哪个浏览器不屏蔽网站asp.net网站开发源码
  • 做公司网站需要准备什么资料苏州的网站建设
  • tp5 网站开发湖南网站开发企业
  • 网站怎么做图片搜索网站建设课设心得体会
  • 濮阳网站建设费用大连本地网站推广
  • 嘉兴网站专业有没有专门做设计的网站
  • 互联网风格网站网站文字重叠效果
  • 洛阳孟津网站建设做网站开发需要什么技能
  • 网站代备案流程wordpress 上传swf
  • 网站服务器天付北京网站设计成功a刻
  • 五金机械东莞网站建设网站推广的方式?
  • 公司网站建设网站优化网络推广深圳做网站的公
  • 做韩服的视频网站网站开发的技术支撑 经验能力
  • 来年做那些网站能致富搭建什么网站赚钱
  • 二维码生成器网站做网站要会哪些知识
  • 安监网站如何做紧急预案备案营销网站排行榜前十名