如何将一个数组与另一个数组排序

尼尚·夏尔马

执行以下任务的 Java 程序是什么?

给定两个名为aand 的数组c我需要ac.

例如,如果a={2,3,4}c={-1,2,1}排序 a 关于 c 将产生{2,4,3}

我在 C++ 中使用pair<>. 如何使用内置功能在 Java 中做同样的事情?

莫里斯·佩里

你可以在 Java 中做同样的事情:

class Pair<A, C extends Comparable<C>> implements Comparable<Pair<A,C>> {
    public final A a;
    public final C c;

    Pair(A a, C c) {
        this.a = a;
        this.c = c;
    }

    @Override
    public int compareTo(Pair<A, C> o) {
        return c.compareTo(o.c);
    }
}

...

public static void main(String[] args) {
    List<Pair<Integer,Integer>> list = new ArrayList<>();
    list.add(new Pair<>(2,-1));
    list.add(new Pair<>(3,2));
    list.add(new Pair<>(4,1));
    Collections.sort(list);
    list.stream().forEach((pair) -> {
        System.out.println(pair.a + " " + pair.c);
    });
}

更新:

或者,更简单地说:

class Pair<A, C> {
    public final A a;
    public final C c;

    Pair(A a, C c) {
        this.a = a;
        this.c = c;
    }
}

public static void main(String[] args) {
    List<Pair<Integer,Integer>> list = new ArrayList<>();
    list.add(new Pair<>(2,-1));
    list.add(new Pair<>(3,2));
    list.add(new Pair<>(4,1));
    Collections.sort(list,
            (Pair<Integer, Integer> o1, Pair<Integer, Integer> o2) -> o1.c.compareTo(o2.c));
    list.stream().forEach((pair) -> {
        System.out.println(pair.a + " " + pair.c);
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将一个数组的排序顺序设置为另一个数组?

将一个数组排序为另一个数组-C

如何将数组值从一个数组移到另一个数组

如何将一个数组添加到另一个数组以创建一个数组数组。(JS)

如何将一个数组的元素传递给另一个?

如何将一个数组转换为另一个数组?

PHP如何将一个数组的值赋给另一个数组中的变量

如何将一个数组用作另一个数组的键?

在PHP / Opencart中,如何将一个数组放入另一个数组中?

如何将一个数组中的值添加到另一个数组?

如何将一个数组的元素复制到另一个数组

如何将一个数组转换为另一个数组

如何将一个数组输入与另一个数组关联?

如何将一个数组键值与另一个数组索引值进行比较?

如何将一个数组的元素添加到另一个数组

如何将一个数组对象的值作为另一个数组对象的键

如何将一个数组与另一个数组合并

将一个数组与另一个数组进行排序,然后在该数组中排序

如何根据另一个数组的排序顺序对多个数组进行排序

如何将数组中的特定元素放到另一个数组中

如何将数组对象推入另一个数组对象,打字稿

如何将数组值复制到另一个数组

Mongodb如何将特定对象从数组移动到另一个数组?

JavaScript如何将数组属性提取到另一个数组中?

在Javascript中,如何将多维数组除以另一个数组

你如何将数组的每个部分分成另一个数组?

如何将数组推送到另一个数组内的对象中?

如何将数据从数组/对象推送到另一个数组/对象?

如何将数组项添加到另一个数组中