java集合框架(习题与答案)资料 下载本文

import java.util.HashSet;

public class Test1 {

public static void main(String[] args) {

// TODO Auto-generated method stub

HashSet hs=new HashSet();

Worker w1=new Worker(\

Worker w2=new Worker(\

Worker w3=new Worker(\

Worker w4=new Worker(\

hs.add(w1);

hs.add(w2);

hs.add(w3);

hs.add(w4);

System.out.println(hs.size());

System.out.println(hs);

} }

class Worker implements Comparable{

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;

}

@Override

public int compareTo(Worker o) {

// TODO Auto-generated method stub

if(this.age!=o.age){

return this.age-o.age;

}

else if(this.salary!=o.salary){

//Integer integer1=new Integer(this.salary)

return new Double(this.salary).compareTo(new Double(o.salary));

}

else if(this.name.equals(o.name)){

return this.name.compareTo(o.name);

}

return 0;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + age;

result = prime * result + ((name == null) ? 0 : name.hashCode());

long temp;

temp = Double.doubleToLongBits(salary);

result = prime * result + (int) (temp ^ (temp >>> 32));

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Worker other = (Worker) obj;

if (age != other.age)

return false;

if (name == null) {

if (other.name != null)

return false;

} else if (!name.equals(other.name))

return false;

if (Double.doubleToLongBits(salary) != Double

.doubleToLongBits(other.salary))

return false;

return true;

}

@Override

public String toString() {

// TODO Auto-generated method stub

return age+\

}

}

10. (Map)关于下列Map 接口中常见的方法

put 方法表示放入一个键值对,如果键已存在则新值替换旧值,如果键不存在则 增加一个键值对。

remove 方法接受一个参数,表示从映射中移除其映射关系的键。

get 方法表示返回指定键所映射的值,get 方法的参数表示移除的其映射关系的键,返回值表示与key关联的值。

要想获得Map 中所有的键,应该使用方法ketSet,该方法返回值类型为Set集合。

要想获得Map 中所有的值,应该使用方法get,该方法返回值类型为指定键所映射的值。 要想获得Map 中所有的键值对的集合,应该使用方法entrySet,该方法返回一个 Map.Entry类型所组成的Set。

11. (Map)利用Map,完成下面的功能:

从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。

附:世界杯冠军以及对应的夺冠年份,请参考本章附录。

public class Bk18 {

public static void main(String[] args) {

// TODO Auto-generated method stub

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String year=null;

try {

year=br.readLine();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Map map=new HashMap();

map.put(\巴西\