zhuyanshuo 2 months ago
parent
commit
0f9933df8e
  1. 38
      w8/Pair.java
  2. 17
      w8/TestPairSwap.java

38
w8/Pair.java

@ -0,0 +1,38 @@
public class Pair<K, V> {
private K key;
private V value;
// 构造方法
public Pair(K key, V value) {
this.key = key;
this.value = value;
}
// Getter/Setter
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;
}
// ✅ 修复后的静态 swap 方法
public static <K, V> Pair<V, K> swap(Pair<K, V> pair) {
return new Pair<>(pair.getValue(), pair.getKey());
}
// 重写 toString
@Override
public String toString() {
return "Pair{" + "key=" + key + ", value=" + value + '}';
}
}

17
w8/TestPairSwap.java

@ -0,0 +1,17 @@
public class TestPairSwap {
public static void main(String[] args) {
// 1. 原始 Pair:String + Integer(姓名-年龄)
Pair<String, Integer> person = new Pair<>("张三", 20);
System.out.println("交换前:" + person);
// 2. 调用静态 swap 方法,得到交换后的 Pair
Pair<Integer, String> swappedPerson = Pair.swap(person);
System.out.println("交换后:" + swappedPerson);
// 3. 相同类型的 Pair 也可以正常使用
Pair<Double, Double> point = new Pair<>(116.40, 39.90);
System.out.println("交换前坐标:" + point);
Pair<Double, Double> swappedPoint = Pair.swap(point);
System.out.println("交换后坐标:" + swappedPoint);
}
}
Loading…
Cancel
Save