怎么封装list map集合类型,封装了怎么添加数据和怎么设置泛型,封装以后怎样对数据进行增删改查。

怎么封装list map集合类型,封装了怎么添加数据和怎么设置泛型,封装以后怎样对数据进行增删改查。

public class PlayList {

private String playListName;//播放器列表名称

// private ArrayList musicList;//播放器列表里面歌曲

List<Song> list=new ArrayList<Song>();

public PlayList(){//无参的构造方法

}

public PlayList(String playListName){//带参的构造方法,ArrayList musicList

this.playListName=playListName;

//this.musicList=musicList;

}

//set/get方法

public String getPlayListName() {

return playListName;

}

public void setPlayListName(String playListName) {

this.playListName = playListName;

}

// public ArrayList getMusicList() {

// return musicList;

// }

// public void setMusicList(ArrayList musicList) {

// this.musicList = musicList;

// }

//  

//将歌曲添加到播放列表

public void addToPlayList(Song song){

list.add(song);

}

//显示播放列表中所有的歌曲

public void displayAllSong(){

Iterator<Song> it=list.iterator();

while(it.hasNext()){

Song song=it.next();

song.toString();

}

}

//通过ID查询歌曲

public void searchSongById(String id){

Iterator<Song> it=list.iterator();

while(it.hasNext()){

Song song=it.next();

if(id.equals(song.getId())){

System.out.println("有该歌曲");

song.toString();

}

}

//通过歌曲名查询歌曲

public void searchSongByName(String name){

Iterator<Song> it=list.iterator();

while(it.hasNext()){

Song song=it.next();

if(name.equals(song.getName())){

System.out.println("有该歌曲");

song.toString();

}

}

}

//修改歌曲

public void updateSong(int in,Song song){

list.set(in, song);

}

//删除歌曲

public void deleteSong(String id){

Iterator<Song> it=list.iterator();

while(it.hasNext()){

Song song=it.next();

if(id.equals(song.getId())){

list.remove(song);

System.out.println("以删除该歌曲");

}

}

}

}

=====================================================

public class PlayListCollection {

private Map playListMap;//存放播放器列表的集合

Scanner in=new Scanner(System.in);

// Map<String ,PlayList> map=new HashMap<String ,PlayList>();

public PlayListCollection(){//带参的构造方法


}

public PlayListCollection(Map playListMap){//带参的构造方法

this.playListMap=playListMap;

}

// set/get方法

public Map getPlayListMap() {

return playListMap;

}

public void setPlayListMap(Map playListMap) {

this.playListMap = playListMap;

}

//添加播放列表

public void addPlayList(String playList){

PlayListCollection plc=new PlayListCollection();

new PlayList().setPlayListName("主播放列表");

plc.setPlayListMap(playListMap);

}

//删除播放列表

public void deletePlayList(PlayList playList){

}

//通过名字查询


public PlayList searchPlayListByName(String PlayListName){

return null;

}

//显示所有播放列表名称

public void displayListName(){

}

}

==========================================================



正在回答

登陆购买课程后可参与讨论,去登陆

2回答

1、你的代码中泛型的使用是没有问题的。

2、list和map都是成员变量,定义完后在类中直接使用就可以了。而在类外只看到播放列表和播放列表的集合,看不到list和map,这就是把list和map封装到类中了

3、至于如何使用list和map,你在PlayList类中已经对list进行使用了。

PlayListCollection类的map使用有些问题。在PlayListCollection类中不用再去定义自己的对象,对于添加播放列表的代码,就是直接把方法参数PlayList的对象添加到集合map中,key值是播放列表的名称。这个方法既可以向PlayListCollection的对象添加主播放列表,也可以添加普通的播放列表。所以添加主播放列表的代码不写到这个方法中,而是在主方法中去完成,写到主方法的最开始,这样主播放列表就默认添加了。

PlayListCollection类的其他方法也是主要对map中存储的内容进行增删改查的操作。

祝学习愉快!

提问者 qq_回忆终难忘_03876613 2017-06-27 19:13:22

而在类外只看到播放列表和播放列表的集合,看不到list和map,这就是把list和map封装到类中了  这句话没理解明白,老师可以用代码演示下吗?

  • 你的代码就是这个意思了:)类里面有集合,然后在测试类中使用的时候用的是类的对象。
    2017-06-28 08:39:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师