上面的案例启示是对集合类的一个巩固,代码如下:
package cn.csdn.ktv;import java.util.LinkedList;
import java.util.Scanner;public class KTVDemo {public static void main(String[] args) {System.out.println("--------------欢迎来到点歌系统-----------------");System.out.println("0.添加新的歌曲");System.out.println("1.将歌曲置顶");System.out.println("2.将歌曲前置一位");System.out.println("3.退出");LinkedList<String> list=new LinkedList<String>();//初始化initialize(list);System.out.println("初始化歌单:"+list);//进入循环Scanner sc=new Scanner(System.in);boolean b=true;while(b) {System.out.print("请输入要执行的操作的序号:");int choose=sc.nextInt();switch (choose) {case 0://添加新的歌曲addSong(list);break;case 1://将歌曲前置topSong(list);break;case 2://将歌曲前移一个位置removeSong(list);break;case 3:leave();b=false;break;default:System.out.println("--------------------------");System.out.println("对不起,您输入有误,请重新输入");break;}System.out.println("当前的歌曲信息:"+list);}//循环结束的地方}//退出系统public static void leave() {System.out.println("----------退出------------");System.out.println("您已经退出系统");}//将歌曲前移一个位置public static void removeSong(LinkedList<String> list) {Scanner sc=new Scanner(System.in);System.out.print("请输入您想要前移的歌曲名称:");String song=sc.next();int i=list.indexOf(song);//返回一个下标//判断if(i<0)System.out.println("当前列表没有这首歌");else if(i==0)System.out.println("当前歌曲"+song+"在最前面");else {list.remove(song);list.add(i-1, song);}System.out.println("已经前移歌曲 :"+song);}//将歌曲置顶public static void topSong(LinkedList<String> list) {Scanner sc=new Scanner(System.in);System.out.print("请输入您想要置顶的歌曲名称:");String song=sc.next();int i=list.indexOf(song);//返回下标if(i<0) System.out.println("当前列表没有这首歌曲");else {list.remove(song);list.addFirst(song);}System.out.println("已经置顶歌曲 :"+song);}//添加新的歌曲public static void addSong(LinkedList<String> list) {Scanner sc=new Scanner(System.in);System.out.print("请输入您想要添加的歌曲名称:");String song=sc.next();list.add(song);System.out.println("已经添加歌曲 :"+song);}//初始化public static void initialize(LinkedList<String> list) {list.add("夜曲");list.add("稻香");list.add("听妈妈的话");list.add("夜空中最亮的星");list.add("七里香");}
}