播放器管理
因为在Java内容当中,我们并没有学习图形界面的内容,所以播放器管理的内容呢都是在控制台来实现的。
需求分析:
播放列表管理:
- 将歌曲添加到主播放列表(集合)
- 将歌曲添加到普通播放列表
- 通过歌曲id查询播放列表中的歌曲
- 通过歌曲名称查询播放列表中的歌曲
- 修改播放器列表的歌曲
- 显示播放列表中的所有歌曲
播放器管理:
- 向播放器添加比方列表
- 从播放器删除播放列表
- 通过名字查询播放列表信息
- 显示所有播放列表名称
目录
详细设计:
类:
- 歌曲类(Song)
- 播放列表类(PlayList)
- 播放器类(PlayListCollection)
- 测试类(TestDemo)
歌曲类(Song):
- 属性:
- 歌曲id(id)、歌曲名(name)、演唱者(singer),均为字符串类型
- 方法:
- 构造方法
- getter和setter方法
- hashCode()和equals()方法
- toString()方法
播放列表类(PlayList):
- 属性:
- 播放列表名称(playListName):字符串类型
- 播放列表中的歌曲集合(musicList):List类型
- 方法:
- 构造方法getter和setter方法
- 将歌曲添加到播放列表:public void addToPlayList(Song song);
- 显示播放列表中所有歌曲:public void displayAllSong();
- 通过id查询歌曲:public Song searchSongById(String id);
- 通过名称查询歌曲:public Song searchSongByName(String n);
- 修改歌曲:public void updateSong(String id,Song song);
- 从播放列表删除歌曲:public void deleteSong(String id);
播放器类(PlayList Collection):
- 属性:
- 存放播放列表的集合(playListMap):Map
- 方法:
- 构造方法getter和setter方法
- 添加播放列表:public void addPlayList(PlayList playList);
- 删除播放列表:public void deletePlayList(PlayList playList);
- 通过名字查询:public PlayList searchPlayListByName(String playListName);
- 显示所有播放列表名称:public void displayPlayListName();
实现过程:
打开eclipse,创建一个新的工程,然后新建一个包com.kilig.songs
1.首先创建歌曲类Song,导入成员属性,构造方法,get&set方法。其实这些方法的定义我们可以一键快速生成
2.生成hashCode和equals方法,toString等方法
这样我们的歌曲类Song类就创建好了。
package com.kilig.songs;
/**
* @email bwenrui@gmail.com
* @author kilig
* @time 10/11/2020
*/
public class Song {
private String id;
private String name;
private String singer;
// 构造方法
public Song() {
super();
this.id = id;
this.name = name;
this.singer = singer;
}
// Get&Set
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSinger() {
return singer;
}
public void setSinger(String singer) {
this.singer = singer;
}
// hashCode &equalea
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((singer == null) ? 0 : singer.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
retu