Java面向对象程序设计

课后作业:在Map中,还提供了一个values()方法,通过这个方法可以直接获取Map中存储所有值的Collection集合。请采用集合遍历的方式完成。( 参考:通过遍历Map集合中所有的键,获取相应的值的方式。)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.pujunming.nsusoft.Unit4.fanxing;

/**
* Created by Intellij IDEA.
*
* @author Pu_Junming
* @create 2022/11/29 16:36
*/

class Box<K,V>{
private K key;
private V value;

public Box(K key, V value){
this.key = key;
this.value = value;
}

public K getKey() {
return key;
}

public void setKey(K key) {
this.key = key;
}

public V getValue() {
return value;
}

public void setValue(V value) {
this.value = value;
}
}

public class Demo001 {
public static void main(String[] args){
Box<String,String> c1 = new Box<String,String>("name", "puJunMing");
Box<String,Integer> c2 = new Box<String, Integer>("age", 22);
Box<Double,Double> c3 = new Box<Double, Double>(22.1,22.1);
System.out.println(c1.getKey() + "=" + c1.getValue());
System.out.println(c2.getKey() + "=" + c2.getValue());
System.out.println(c3.getKey() + "=" + c3.getValue());
}
}

通过一个案例来演示先遍历Map集合中所有的键,再根据键获取相应的值的方式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class Dome2 {
public static void main(String[] args) {
Map map=new HashMap ( );
map.put ( "1","Jack" );
map.put ( "2","Tom" );
map.put ( "3","luck" );
Set keyset=map.keySet () ;
Iterator it=keyset.iterator ();
while (it.hasNext ()){
Object key=it.next ();
Object value=map.get ( key );
System.out.println ( key+":"+value );
}
}
}

定义泛型方法:通过一个自定义的比较方法compare(pN,pM),完成对不同的实例对象pN和pM的比较。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package com.pujunming.nsusoft.Unit4.fanxing;

import static java.util.Arrays.compare;

/**
* Created by Intellij IDEA.
*
* @author Pu_Junming
* @create 2022/11/29 16:36
*/

class Pair<K,V>{
private K key;
private V value;

public Pair(K key, V value){
this.key = key;
this.value = value;
}

public K getKey() {
return key;
}

public void setKey(K key) {
this.key = key;
}

public V getValue() {
return value;
}

public void setValue(V value) {
this.value = value;
}
}

public class Demo002 {
public static void main(String[] args){
Pair<String,String> p1 = new Pair<String,String>("name", "pu");
Pair<String,String> p2 = new Pair<String,String>("name", "huang");
System.out.println("比较结果:p1 = p2\t" + compare(p1, p2));

Pair<String,Integer> p3 = new Pair<String,Integer>("age", 22);
Pair<String,Integer> p4 = new Pair<String,Integer>("age", 22);
System.out.println("比较结果:p3 = p4\t" + compare(p3, p4));
}
public static <K,V> boolean compare(Pair<K,V> pp,Pair<K,V> tt){
return pp.getKey ().equals ( tt.getKey () )&&
pp.getValue ().equals ( tt.getValue () );
}
}