千峰逆战班,Question_10

作业:
4.C
6.A
7.hashCode()方法前面应该加修饰符public,salary是double类型的,应该强转为int类型
在这里插入图片描述
name属性是String类型的,应该用equals比较
在这里插入图片描述
set接口是无序的,没有提供使用下标查询的元素的方法
在这里插入图片描述
8.

import java.util.HashSet;
import java.util.Set;

public class Question7 {
	public static void main(String[] args){
		Set<Worker> set = new HashSet<Worker>();
		set.add(new Worker("tom",18,2000));
		set.add(new Worker("tom",18,2000));
		set.add(new Worker("jerry",18,2000));
		System.out.println(set.size());
		for (Worker worker : set) {
			System.out.println(worker.toString());
		}
	}
}
class Worker{
	String name;
	int age;
	double salary;
	public Worker(){}
	public Worker(String name,int age,double salary){
		this.name = name;
		this.age = age;
		this.salary = salary;
	}
	public String toString(){
		return name + "\t" + age + "\t" + salary;
	}
	public int hashCode(){
		return this.name.hashCode() + this.age + (int)this.salary;
	}
	public boolean equals(Object obj) {
		System.out.println("equals运行");
		if(this == obj){
			return true;
		}
		if(obj == null){
			return false;
		}
		if(this.getClass() != obj.getClass()){
			return false;
		}
		Worker s = (Worker)obj;
		if(this.name.equals(s.name) && this.age == s.age && this.salary == s.salary){
			return true;
		}
		return false;
	}
}

运行结果:
在这里插入图片描述
9. 1)覆盖 插入
2) 1 删除该键所对应的值
3)获取键值对 键 值
4)keySet() Set
5) entrySet() Set
10.

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Question10 {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		Map<Integer,String> map = new HashMap<Integer,String>();
		map.put(1930, "乌拉圭");
		map.put(1934, "意大利");
		map.put(1938, "意大利");
		map.put(1950, "乌拉圭");
		map.put(1954, "德国");
		map.put(1958, "巴西");
		map.put(1962, "巴西");
		map.put(1966, "英格兰");
		map.put(1970, "巴西");
		map.put(1974, "德国");
		map.put(1978, "阿根廷");
		map.put(1982, "意大利");
		map.put(1986, "阿根廷");
		map.put(1990, "德国");
		map.put(1994, "巴西");
		map.put(1998, "法国");
		map.put(2002, "巴西");
		map.put(2006, "意大利");
		System.out.println("请输入一个年份(1930~2006):");
		int a = sc.nextInt();
		if(map.get(a) != null){
			System.out.println(map.get(a));
		}else{
			System.out.println("没有举办世界杯");
		}
		
	}
}

运行结果:
在这里插入图片描述
11.

import java.util.HashMap;
import java.util.Map;

public class Question11 {
	public static void main(String[] args){
		Map<String,String> map = new HashMap<String,String>();
		map.put("Tom", "CoreJava");
		map.put("John", "Oracle");
		map.put("Susan", "Oracle");
		map.put("Jerry", "JDBC");
		map.put("Jim", "Unix");
		map.put("Kevin", "JSP");
		map.put("Lucy", "JSP");
		
		map.put("Allen", "JDBC");
		map.replace("Lucy", "CoreJava");
		System.out.println(map.entrySet());
		for (String string : map.keySet()) {
			if(map.get(string).equals("JSP")){
				System.out.println(string);
			}
		}
	}
}

运行结果:
在这里插入图片描述
12.B
13.

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Question10 {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		Map<Integer,String> map = new HashMap<Integer,String>();
		map.put(1930, "乌拉圭");
		map.put(1934, "意大利");
		map.put(1938, "意大利");
		map.put(1950, "乌拉圭");
		map.put(1954, "德国");
		map.put(1958, "巴西");
		map.put(1962, "巴西");
		map.put(1966, "英格兰");
		map.put(1970, "巴西");
		map.put(1974, "德国");
		map.put(1978, "阿根廷");
		map.put(1982, "意大利");
		map.put(1986, "阿根廷");
		map.put(1990, "德国");
		map.put(1994, "巴西");
		map.put(1998, "法国");
		map.put(2002, "巴西");
		map.put(2006, "意大利");
		System.out.println("请输入一个年份(1930~2006):");
		int a = sc.nextInt();
		if(map.get(a) != null){
			System.out.println(map.get(a));
		}else{
			System.out.println("没有举办世界杯");
	}
		
		System.out.println("请输入一支球队名称:");
		String str = sc.next();
		if(map.containsValue(str)){
			for (Integer in : map.keySet()) {
				if(map.get(in).equals(str)){
					System.out.print(in + "\t");
				}
			}
		}else{
			System.out.println("没有获得过世界杯");
		}
	}
}

运行结果:
在这里插入图片描述
14.

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class TestMap {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串:");
		String str = sc.next();
		Map<Character,Integer> map = new HashMap<Character,Integer>();
		for (char ch : str.toCharArray()) {
			if(map.get(ch) == null){
				map.put(ch, 1);
			}else{
				map.put(ch, map.get(ch) + 1);
			}
		}
		System.out.println(map.entrySet());
	}
}

运行结果:
在这里插入图片描述

发布了25 篇原创文章 · 获赞 0 · 访问量 907

猜你喜欢

转载自blog.csdn.net/Hydz666_/article/details/104711235