From 0f9933df8ea71eef969f1e19792cbf5f53d4da75 Mon Sep 17 00:00:00 2001 From: zhuyanshuo <3663541984@qq.com> Date: Wed, 29 Apr 2026 12:40:53 +0800 Subject: [PATCH] Pair --- w8/Pair.java | 38 ++++++++++++++++++++++++++++++++++++++ w8/TestPairSwap.java | 17 +++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 w8/Pair.java create mode 100644 w8/TestPairSwap.java diff --git a/w8/Pair.java b/w8/Pair.java new file mode 100644 index 0000000..7bc0814 --- /dev/null +++ b/w8/Pair.java @@ -0,0 +1,38 @@ +public class Pair { + 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 Pair swap(Pair pair) { + return new Pair<>(pair.getValue(), pair.getKey()); + } + + // 重写 toString + @Override + public String toString() { + return "Pair{" + "key=" + key + ", value=" + value + '}'; + } +} \ No newline at end of file diff --git a/w8/TestPairSwap.java b/w8/TestPairSwap.java new file mode 100644 index 0000000..969828a --- /dev/null +++ b/w8/TestPairSwap.java @@ -0,0 +1,17 @@ +public class TestPairSwap { + public static void main(String[] args) { + // 1. 原始 Pair:String + Integer(姓名-年龄) + Pair person = new Pair<>("张三", 20); + System.out.println("交换前:" + person); + + // 2. 调用静态 swap 方法,得到交换后的 Pair + Pair swappedPerson = Pair.swap(person); + System.out.println("交换后:" + swappedPerson); + + // 3. 相同类型的 Pair 也可以正常使用 + Pair point = new Pair<>(116.40, 39.90); + System.out.println("交换前坐标:" + point); + Pair swappedPoint = Pair.swap(point); + System.out.println("交换后坐标:" + swappedPoint); + } +} \ No newline at end of file