gpt4 book ai didi

java - 根据所选列使用 Arrays.sort 对二维字符串数组进行排序

转载 作者:行者123 更新时间:2023-12-01 10:50:52 25 4
gpt4 key购买 nike

我有一个用Java 填充字符串的二维数组。我希望能够相对于我选择作为排序依据的列对整个数组进行排序。

例如:

假设我有一个如下所示的数据数组。

|John  | C | Doe    |

|Sally | A | Miller |

|Chris | B | Sanders|

我指定要根据中间名首字母降序排序,并返回一个如下所示的数组。

|John  | C | Doe    |

|Chris | B | Sanders|

|Sally | A | Miller |

有没有办法指定一个比较器来执行此操作?

最佳答案

当然,只需将列索引作为比较器的参数传递即可。

class ColumnComparator<T extends Comparable<T>> implements Comparator<T[]> {
private final int column;

ColumnComparator(int column) { this.column = column; }

@Override public int compare(T[] a, T[] b) {
return a[column].compareTo(b[column]);
}
}

或者,更简单地说,如果它始终是第 1 列和字符串数组:

class ColumnComparator implements Comparator<String[]> {
@Override public int compare(T[] a, T[] b) {
return a[1].compareTo(b[1]);
}
}

关于java - 根据所选列使用 Arrays.sort 对二维字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33918532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com