java - 根据字符出现的次数对数组进行排序

标签 java arrays sorting multidimensional-array

假设我有一个像这样的数组列表:

[24、15、55、101、555]

如何根据字符串中“5”的数量对数组进行排序?如果没有五,那么较小的数字先行。所以排序后的数组将是:

[24,101,15,5,555]

知道如何做到这一点吗?也许计算 5 次出现的次数并有一个 2d 数组,其中 1. 实际数字 2. 5 次出现的次数?然后根据二维数组的第二列对数组进行排序?我对 java 还很陌生,所以请耐心等待。

最佳答案

我将创建一个实现 Comparator<String> interface 的类。在 compare方法,检测5的数量那里的人物。如果数量5字符相等,则使用 Integer.parseInt获取数字并进行比较。

如果第一个字符串应分别比较小于、等于或大于第二个字符串以满足compare,请确保返回小于零、0或大于零的数字。的契约(Contract)。

int compare(T o1, T o2)

Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

然后调用Arrays.sort(yourArray, new YourStringComparator()); .

关于java - 根据字符出现的次数对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19231727/

相关文章:

java - 使用列表<字符串>

javascript - 如何将div转换为输入,然后将输入转换为div(onclick)

c - 如何删除字符串中的第一个条目

javascript - angularjs 对数组进行排序 orderby

java - 为未知实体类型构建通用 LocalDate JPA 标准

java - 从 object[][] 数组中获取 int Java Reflect

java - Jackson XML - 是否有可用于反序列化包含数组的对象的 Java 内置类型?

java - 如何避免向 Jsonobject 添加重复条目

c - c中的排序链表

javascript - 单击一次即可按升序和降序对对象数组进行排序