2018-12-18作业

2018-12-18作业

1、编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。

public class User implements Comparable<User>{

	private Integer id;
	private String name;
	private Double money;
	
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", money=" + money + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result + ((money == null) ? 0 : money.hashCode());
		result = prime * result + ((name == null) ? 0 : name.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;
		User other = (User) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (money == null) {
			if (other.money != null)
				return false;
		} else if (!money.equals(other.money))
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Double getMoney() {
		return money;
	}

	public void setMoney(Double money) {
		this.money = money;
	}

	public User(Integer id, String name, Double money) {
		super();
		this.id = id;
		this.name = name;
		this.money = money;
	}

	public User() {
		super();
		
	}

	@Override
	public int compareTo(User o) {
		
		return 0;
	}
}

public class test {

	public static void main(String[] args) {
		HashMap<Integer, User>users=new HashMap<>();

		User usr1=new User(1,"tom",100.0);
		User usr2=new User(2,"哈哈哈",200.0);
		User usr3=new User(3,"咻咻咻",300.0);
		
		users.put(usr1.getId(), usr1);
		users.put(usr2.getId(), usr2);
		users.put(usr3.getId(), usr3);
		
		User usr = users.get(1);
		System.out.println(usr);
		
		
	}

}

2、假设顺序列表ArrayList中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。

public class test1 {

	public static void main(String[] args) {
		
		ArrayList<Integer>list=new ArrayList<>();
		
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		list.add(5);
		
		for(Integer n:list) {
			System.out.println(n);
		}
		
	}

}

3、在一个列表中存储以下元素:apple,grape,banana,pear

3.1 返回集合中的最大的和最小的元素
3.2 将集合进行排序,并将排序后的结果打印在控制台上

public class Fruit implements Comparable<Fruit>{
	
	private String name;

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((name == null) ? 0 : name.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;
		Fruit other = (Fruit) obj;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "Fruit [name=" + name + "]";
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Fruit(String name) {
		super();
		this.name = name;
	}

	public Fruit() {
		super();
		
	}

	@Override
	public int compareTo(Fruit o) {
		
		return this.name.compareTo(o.name);
	}

}
public class NameComparator implements Comparator<Fruit>{

	@Override
	public int compare(Fruit o1, Fruit o2) {
		
		return o1.getName().compareTo(o2.getName());
	}

}
public class test1 {

	public static void main(String[] args) {
		
		Fruit a1=new Fruit("apple");
		Fruit a2=new Fruit("grape");
		Fruit a3=new Fruit("banana");
		Fruit a4=new Fruit("pear");
		
		ArrayList<Fruit> list=new ArrayList<>();
		
		list.add(a1);
		list.add(a2);
		list.add(a3);
		list.add(a4);
		
		Fruit max = Collections.max(list,new NameComparator());
		System.out.println(max);
		Fruit min = Collections.min(list,new NameComparator());
		System.out.println(min);
		
		Collections.sort(list, new NameComparator());
		System.out.println(list);
		
	}

}

2、从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。

public class test {

	public static void main(String[] args) {
		
		Scanner input =new Scanner(System.in);
		System.out.println("请输入单词:");
		
		ArrayList<String>list=new ArrayList<>();
		
		for(int i=0;i<6;i++) {
			String a =input.nextLine();
			list.add(a);
		}
		Collections.sort(list);
		System.out.println(list);
		
	}

}

1、请使用LinkedList来模拟一个队列(先进先出的特性): [必做题]

1.1 拥有放入对象的方法void put(Object o)
1.2 取出对象的方法Object get()
1.3 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。

public class Queue {
	private LinkedList list=new LinkedList();
	
	public void put(Object obj) {
		list.addLast(obj);
	}
	public Object get() {
		return list.removeFirst();
	}
	public boolean isEmpty() {
		boolean b=true;
		if(list.size()>0) {
			b=false;
		}
		return b;
	}
	public void show() {
		System.out.println(list);
	}
}
public class test1 {
	public static void main(String[] args) {
			Queue queue =new Queue();
			boolean b= queue.isEmpty();
			System.out.println(b);
			queue.put("哈哈哈");
			queue.put("咻咻咻");
			b=queue.isEmpty();
			System.out.println(b);
			queue.show();
			
			queue.get();
			queue.show();
			
			
	}
}	

猜你喜欢

转载自blog.csdn.net/weixin_43986102/article/details/85072370