2019-7-14 [JavaSE] List接口 Set接口 练习题各一个

1.list接口

任务要求:

1.建立一个企鹅类,企鹅有名字(可以自由添加属性)
2.把多个企鹅的信息添加到集合中
3.查看企鹅的数量
4.遍历输出所有企鹅的信息
5.删除集合中索引值是2的企鹅的元素

知识点:List接口

import java.util.ArrayList;
import java.util.List;

class Penguin{
	private String name;
	public Penguin(String name) {
		super();
		this.name = name;
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return name;
	}	
}
public class Test1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<Penguin> list = new ArrayList<>();
		Penguin p1 = new Penguin("盼盼");
		Penguin p2 = new Penguin("欢欢");
		Penguin p3 = new Penguin("迎迎");
		list.add(p1);
		list.add(p2);
		list.add(p3);
		System.out.println(list.size());
		list.forEach(System.out::println);
		System.out.println(list.remove(2));			
	}
}

2.Set接口

任务描述:

定义一个老鼠类,该类有属性名字,爱好,年龄。创建老鼠对象,并初始化,然后把这些老鼠对象添加到一个集合中。
任务要求
1.使用集合添加2只老鼠,:淘淘和杰瑞
2.按照年龄升序排序;(比较器Comparable)
3.再添加一只杰瑞老鼠,不允许此老鼠添加入集合,因为在老鼠王国不允许同名的老鼠,老鼠名相同了会被认为是同一只老鼠。(重写hashCode和equals)
4.使用Iterator显示所有老鼠信息;
5.删除老鼠杰瑞
6.输出集合中有多少只老鼠

知识点:Set接口。

import java.util.LinkedHashSet;
import java.util.Set;

class Mouse implements Comparable<Mouse>{
	private String name;
	private String hobby;
	private int age;
	public Mouse(String name, String hobby, int age) {
		super();
		this.name = name;
		this.hobby = hobby;
		this.age = age;
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return name+","+hobby+","+age;
	}
	@Override
	public int compareTo(Mouse o) {
		// TODO Auto-generated method stub
		return this.age - o.age;
	}
	@Override
	public int hashCode() {
		// TODO Auto-generated method stub
		return name.hashCode();
	}
	@Override
	public boolean equals(Object obj) {
		// TODO Auto-generated method stub
		return this.name .equals(((Mouse)obj).name)?true:false ;
	}	
}
public class Test2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Set<Mouse> set = new LinkedHashSet<>();
		Mouse taotao = new Mouse("淘淘", "吃米", 1);
		Mouse jerry  = new Mouse("杰瑞", "吃蛋糕", 2);
		set.add(taotao);
		set.add(jerry);
		set.forEach(System.out::println);
		set.add(jerry);
		set.forEach(System.out::println);
		set.remove(jerry);
		System.out.println(set.size());	
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值