美文网首页
java 返回值返回两个元素

java 返回值返回两个元素

作者: 夜空最亮的9星 | 来源:发表于2019-09-29 18:36 被阅读0次
/**
 * 引入一个简简单单的Pair, 用于返回值返回两个元素.
 *
 */

public class Pair<L, R> {

    @Nullable
    private final L left;
    @Nullable
    private final R right;

    /**
     * Creates a new pair.
     */
    public Pair(@Nullable L left, @Nullable R right) {
        this.left = left;
        this.right = right;
    }

    @Nullable
    public L getLeft() {
        return left;
    }

    @Nullable
    public R getRight() {
        return right;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((left == null) ? 0 : left.hashCode());
        return prime * result + ((right == null) ? 0 : right.hashCode());
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null || getClass() != obj.getClass()) {
            return false;
        }
        Pair other = (Pair) obj;
        if (left == null) {
            if (other.left != null) {
                return false;
            }
        } else if (!left.equals(other.left)) {
            return false;
        }
        if (right == null) {
            if (other.right != null) {
                return false;
            }
        } else if (!right.equals(other.right)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Pair [left=" + left + ", right=" + right + ']';
    }

    /**
     * 根据等号左边的泛型,自动构造合适的Pair
     */
    public static <L, R> Pair<L, R> of(@Nullable L left, @Nullable R right) {
        return new Pair<L, R>(left, right);
    }
}

测试一下:

        List<Pair<String, Integer>> list = new ArrayList<>();
        for (int i = 0 ;i < 10;i ++){
            String name = "name " + i;
            Pair<String, Integer> pair = Pair.of(name, i);
            list.add(pair);
        }
        System.out.println(list);

相关文章

  • java 返回值返回两个元素

    测试一下:

  • Java基础整理(二)

    Java方法的几种类型 无参无返回值的方法 无参有返回值的方法 有参无返回值的方法 有参有返回值的方法 Java ...

  • Java方法签名与方法块

    Java方法签名 Java的方法签名不包括返回值。 Java的方法签名包括:方法名和参数。不包括方法返回值。所以由...

  • 浅谈数组新增的方法

    indexOf(n) 返回值为n在数组中的索引,没有索引返回值就为-1注意有两个参数:第一个为需要检测的元素,...

  • JS中数组的一些方法

    数组的常用方法 [数组所有删除元素的方法,返回值都是被删除的元素][数组所有添加元素的方法,返回值都是新数组的长度...

  • 11.条件控制语句if

    kotlin的if有返回值的,java的if没有返回值,kotlin的if是表达式语法,java的if属于声明式语...

  • 数组方法总结

    push(): 向数组的末尾添加一个或更多元素 返回值为添加的元素 pop(): 删除数组的最后一个元素 返回值为...

  • js-获取元素

    获取元素的方法 传参 返回值

  • 12月30日学习内容

    Java方法 Java方法他们可有返回值也可以没有返回值,可以有参数,也可以没有参数。 创建方法 public c...

  • kotlin基础语法

    函数定义 有返回值的函数 无返回值的函数(类似Java中的void): 可变长参数函数 静态方法 Java代码: ...

网友评论

      本文标题:java 返回值返回两个元素

      本文链接:https://www.haomeiwen.com/subject/yvkqpctx.html