欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java之集合ArrayList,LinkedList,HashMap运用

程序员文章站 2022-06-16 23:42:10
...

1、定义歌曲类,属性:歌曲名、歌手名、播放时长(int 类型),定义play方法显示歌曲信息。

// 1、添加10首歌到ArrayList集合中
// 2、遍历所有的歌曲,显示歌曲信息
// 3、输入歌曲名,在集合中查找该歌曲
// 4、输入整数索引,删除该位置的歌曲
// 5、找出播放时间最长的歌曲
// 6、将所有歌曲复制到LinkedList集合中

public class Music {
//	1、定义歌曲类,属性:歌曲名、歌手名、播放时长(int 类型),定义play方法显示歌曲信息。
//	  1、添加10首歌到ArrayList集合中
//	  2、遍历所有的歌曲,显示歌曲信息
//	  3、输入歌曲名,在集合中查找该歌曲
//	  4、输入整数索引,删除该位置的歌曲
//	  5、找出播放时间最长的歌曲
//	  6、将所有歌曲复制到LinkedList集合中
	private String name;//歌手名
	private String song;//歌曲名
	private int time;//播放时长
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((song == null) ? 0 : song.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Music other = (Music) obj;
		if (song == null) {
			if (other.song != null)
				return false;
		} else if (!song.equals(other.song))
			return false;
		return true;
	}
	public Music() {
		super();
	}
	public Music(String song, String name, int time) {
		super();
		this.name = name;
		this.song = song;
		this.time = time;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSong() {
		return song;
	}
	public void setSong(String song) {
		this.song = song;
	}
	public int getTime() {
		return time;
	}
	public void setTime(int time) {
		this.time = time;
	}
	@Override
	public String toString() {
		return "Music [name=" + name + ", song=" + song + ", time=" + time + "]";
	}
	public void play(){
		System.out.println("歌手名为:"+getName()+";歌曲名为:"+"《"+getSong()+"》"+";播放时长为:"+getTime()+"分");
		
	}

}
public class TestMusic {
	public static void main(String[] args) {
//		  1、添加10首歌到ArrayList集合中
		ArrayList<Music> list = new ArrayList<Music>();
		list.add(new Music("绿色", "陈雪凝", 5));
		list.add(new Music("烦恼歌", "张学友", 3));
		list.add(new Music("我相信", "杨安培", 6));
		list.add(new Music("停在昨天", "乔洋", 5));
		list.add(new Music("我的世界", "陈姿彤", 7));
		list.add(new Music("如果没有你", "莫文蔚", 4));
		list.add(new Music("狗尾草", "安旭", 8));
		list.add(new Music("老男孩", "筷子兄弟", 6));
		list.add(new Music("泡沫", "邓紫棋", 9));
		list.add(new Music("我的天空", "南征北战", 5));
//		  2、遍历所有的歌曲,显示歌曲信息
		Iterator<Music> iterator = list.iterator();
		while (iterator.hasNext()) {
			iterator.next().play();
		}
//		  3、输入歌曲名,在集合中查找该歌曲
		boolean flage = true;
		for (Music music : list) {
			if(music.getSong().equals("我的天空")){
				flage = false;
				System.out.print("此歌曲为:");music.play();
			}
		}
		if(flage){
			System.out.println("没有找到此歌曲");
		}
//		  4、输入整数索引,删除该位置的歌曲
		list.remove(1);
		list.get(1).play();
//		  5、找出播放时间最长的歌曲
		int max = list.get(0).getTime();
		for (int i = 0; i < list.size(); i++) {
			if(list.get(i).getTime() > max){
				max = list.get(i).getTime();
			}
		}
		System.out.println(max);
		for (Music music : list) {
			if(music.getTime() == max){
				System.out.print("时间最长的歌曲为:");music.play();
			}
		}
//		  6、将所有歌曲复制到LinkedList集合中
		LinkedList<Music> linkedList = new LinkedList<>();
		linkedList.addAll(list);
		Iterator<Music> iterator2 = linkedList.iterator();
		while (iterator2.hasNext()) {
			iterator2.next().play();
		}
	}
}

2、将集合改为HashMap,将歌名作为键,歌曲作为值

public class Test1Music {
	public static void main(String[] args) {
//		2、将集合改为HashMap,将歌名作为键,歌曲作为值
		HashMap<String,Music> hashMap = new HashMap<>();
//		  1、添加10首歌到集合中
		hashMap.put("绿色",(new Music("绿色", "陈雪凝", 5)));
		hashMap.put("烦恼歌", new Music("烦恼歌", "张学友", 3));
		hashMap.put("我相信", new Music("我相信", "杨安培", 6));
		hashMap.put("停在昨天", new Music("停在昨天", "乔洋", 5));
		hashMap.put("我的世界", new Music("我的世界", "陈姿彤", 7));
		hashMap.put("如果没有你", new Music("如果没有你", "莫文蔚", 4));
		hashMap.put("狗尾草", new Music("狗尾草", "安旭", 8));
		hashMap.put("老男孩", new Music("老男孩", "筷子兄弟", 6));
		hashMap.put("泡沫", new Music("泡沫", "邓紫棋", 9));
		hashMap.put("我的天空", new Music("我的天空", "南征北战", 5));
//		  2、遍历所有的歌曲,显示歌曲信息
		Iterator<String> iterator = hashMap.keySet().iterator();
		while (iterator.hasNext()) {
			String key = iterator.next();
			System.out.println(key+","+hashMap.get(key));
		}
//		  3、输入歌曲名,在集合中查找该歌曲
		System.out.println(hashMap.get("绿色"));
		System.out.println("---------");
//		  4、输入歌曲名,删除歌曲
		hashMap.remove("烦恼歌");
		Iterator<String> iterator1 = hashMap.keySet().iterator();
		while (iterator1.hasNext()) {
			String key1 = iterator1.next();
			System.out.println(key1+","+hashMap.get(key1));
		}
	}
}