点歌系统(使用了hashSet)
2015-08-16 00:52
239 查看
import java.util.*; import java.io.*; public class Jukebox6 { ArrayList<Song> songList=new ArrayList<Song>(); public static void main(String [] args) { new Jukebox6().go(); } public void go() { getSongs(); System.out.println(songList); Collections.sort(songList); System.out.println(songList); HashSet<Song> songSet=new HashSet<Song>(); songSet.addAll(songList); //System.out.println(songList); System.out.println(songSet); } public void getSongs() { try{ File file=new File("songListMore.txt"); BufferedReader reader=new BufferedReader(new FileReader(file)); String line=null; while((line=reader.readLine())!=null) addSong(line); }catch(IOException ex){ex.printStackTrace();} } public void addSong(String lineToParse) { String [] tokens=lineToParse.split("/"); Song song=new Song(tokens[0],tokens[1],tokens[2],tokens[2]); songList.add(song); } }
class Song implements Comparable<Song> { String title; String artist; String rating; String bpm; public boolean equals(Object oSong) { Song s=(Song)oSong; return getTitle().equals(s.getTitle()); } public int hashCode() { return title.hashCode(); } Song(String t,String a,String r,String b) { title=t; artist=a; rating=r; bpm=b; } public int compareTo(Song s) { return title.compareTo(s.getTitle()); } public String getTitle() { return title; } public String getArtist() { return artist; } public String getRating() { return rating; } public String getBpm() { return bpm; } public String toString() { return title; } }
相关文章推荐
- linux mysql增加用户,删除用户,以及用户权限
- httpxml.send->拒绝访问错误80070005的解决方法
- Android笔记(十四) Android中的基本组件——按钮
- 从UE4开始蜕变
- NSOperation类
- 使用线性同余法生成伪随机数/序列(C++实现)
- 《R语言实战》读书笔记-- 第六章 基本图形
- HDU - 5215 Cycle(奇圈和偶圈)
- ZOJ3551 Bloodsucker(概率dp)
- Gym - 100203A Ariel 暴力+位运算
- linux下网卡漂移导致网络不可用
- windows 环境下wamp环境的搭建。
- 利用三角函数实现按钮上下漂浮
- 如何在Flex 4 中使用新的CSS语法
- Python Django Forbidden (403) CSRF verification failed. Request aborted.
- cordova调用本地SQLite数据库的方法
- javascript中的回调函数
- OpenScad的学习笔记
- APP审核驳回和重大版本问题经典案例及解决方案
- 简单实现EditText右侧删除按钮