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

网站页面设计的重要性搜索引擎优化排名关键字广告

网站页面设计的重要性,搜索引擎优化排名关键字广告,高清做网站插图,石家庄网站排名泛型应用 - 卡拉 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.dinnco.com/news/51170.html

相关文章:

  • 做盗版小说网站能赚钱不百度搜索资源平台提交
  • sem网络推广是什么济南seo排名搜索
  • 做文献综述的文章用什么网站网站优化比较好的公司
  • 怎样建设的网站好优化好排名广州新闻头条最新消息
  • 网站开发开发小游戏吗网络推广最好的网站有哪些
  • 周口建设公司网站上海网络营销有限公司
  • 营销网站的方法aso优化重要吗
  • wordpress怎么变中文版河南做网站优化
  • qq空间搬家wordpressseo发帖软件
  • 大连大型网站制作公司最近几天的新闻
  • 企业网站优化平台合肥网站
  • wordpress插件免费沈阳优化网站公司
  • 资源网站如何做百度关键词检测工具
  • 免费app网站下载大全东莞疫情最新通告
  • 拖拉建网站重庆seo标准
  • 做网站赚取广告费佛山网站营销推广
  • 低面效果在哪个网站做品牌网
  • 化妆品网站的设计与实现搜索引擎优化seo优惠
  • 手表在哪个平台买正品seo免费诊断
  • 手机网页版微信登录入口seo二级目录
  • 网站服务公司人工成本进什么费用站长之家seo
  • 高密住房和城乡建设厅网站廊坊优化外包
  • 营销网站建设规划百度关键词排名代做
  • 餐厅网站建设方案温州seo公司
  • 网站推广定义百度搜索优化关键词排名
  • 社区网站怎么建北京网聘咨询有限公司
  • 广东省 网站制作北京推广优化经理
  • 网站建设是做什么的排名首页服务热线
  • 各大网站博客怎么做推广软文写作什么意思
  • 建站平台选择建议发布会直播平台