16.【集合】Pair

一、Pair定义

当一个方法需返回两个值、并且两个值都有重要意义时,我们一般会用Map的key、value来表达。但是如果仅返回两个值,就用管理一堆key/value键值对的HashMap等结构,有点大材小用,增加了数据结构的复杂度。

在javafa.util包中,定义了Pari(配对)结构,可以用来表达此种情况。请定义如下:

public class Pair<K,V> implements Serializable{ 
    private K key;    
    private V value;
    ....
}

二、主要方法

1、构造方法

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

2、查询方法

public K getKey() { return key; }
    public V getValue() { return value; }

3. 比较方法

public boolean equals(Object o) {
         if (this == o) return true;
         if (o instanceof Pair) {
             Pair pair = (Pair) o;
             if (key != null ? !key.equals(pair.key) : pair.key != null) return false;
             if (value != null ? !value.equals(pair.value) : pair.value != null) return false;
             return true;
         }
         return false;
     }

使用样例:

Pair<String, String> pair = new Pair<>("aku", "female");     
pair.getKey();     
pair.getValue();