java 集合 Map 键—>值

来源:互联网 发布:并查集算法c代码 编辑:程序博客网 时间:2024/06/15 19:57
package practice;


import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;


public class ChamberTest 
{
public static void main(String[] args) 
{
Map<Integer, Chamber> p = new HashMap<Integer, Chamber>();
p.put(1, new Chamber(1930, "乌拉圭"));
p.put(2, new Chamber(1934, "意大利"));
p.put(3, new Chamber(1938, "意大利"));
p.put(4, new Chamber(1950, "乌拉圭"));
p.put(5, new Chamber(1954, "德国"));
p.put(6, new Chamber(1958, "巴西"));
p.put(7, new Chamber(1962, "巴西"));
p.put(8, new Chamber(1966, "英格兰"));
p.put(9, new Chamber(1970, "巴西"));
p.put(10, new Chamber(1974, "德国"));
p.put(11, new Chamber(1978, "阿根廷"));
p.put(12, new Chamber(1982, "意大利"));
p.put(13, new Chamber(1986, "阿根廷"));
p.put(14, new Chamber(1990, "德国"));
p.put(15, new Chamber(1994, "巴西"));
p.put(16, new Chamber(1998, "法国"));
p.put(17, new Chamber(2002, "巴西"));
p.put(18, new Chamber(2006, "意大利"));

// System.out.println(p.toString());
//  
// Set set = p.keySet();
// for(Object obj: set)
// {
// System.out.println(obj + "--->" + p.get(obj));
// }

Set<Map.Entry<Integer, Chamber>> allSet = p.entrySet();
Iterator<Map.Entry<Integer, Chamber>> iter = allSet.iterator();

winner(iter);  //输入年份,显示冠军;

Iterator<Map.Entry<Integer, Chamber>> iter1 = allSet.iterator();
year(iter1);   //输入冠军,显示年份;
}

public static void winner(Iterator<Entry<Integer, Chamber>> iter)
{
Scanner scan = new Scanner(System.in);
System.out.println("input year:");
int i = scan.nextInt();
int j = 0;
while(iter.hasNext())
{
Map.Entry<Integer, Chamber> m = iter.next();
if((m.getValue().year).equals(i))
{
System.out.println(i + "年的世界冠军是:" + m.getValue().winner);
j++;
}
}
if(j==0)
{
System.out.println(i + "年没有世界冠军");
}
}
public static void year(Iterator<Entry<Integer, Chamber>> iter1)
{
Scanner scan = new Scanner(System.in);
String str = scan.next();
int k=0;
while(iter1.hasNext())
{
Map.Entry<Integer, Chamber> m1 = iter1.next();
if(m1.getValue().winner.equals(str))
{
System.out.println(str + " " + "球队获得世界冠军是在:" + " " + m1.getValue().year + " ");
k++;
}
}
if(k==0)
{
System.out.println("没有世界冠军" + str);
}
}
}


class Chamber implements Comparable<Chamber>  //实现Comparable接口;
{
Integer year;
String winner;
public Chamber(Integer year, String winner)
{
this.year = year;
this.winner = winner;
}
public Integer getYear()
{
return year;
}
@Override
public String toString()  //重写toString方法;
{
return "year=" + year + " winner=" + winner;
}
@Override
public boolean equals(Object obj) //重写equals方法;
{
if(this == obj)
{
return true;
}
else if(obj instanceof Chamber)
{
Chamber c = (Chamber) obj;
if(this.year == c.year && this.winner == c.winner)
{
return true;
}
}
return false;
}
@Override
public int compareTo(Chamber arg0) //重写compareTo方法;
{
return 0;
}
}
0 0
原创粉丝点击