Java-эквивалент массива Javascript.sort ([compareFunction])? - PullRequest
0 голосов
/ 28 октября 2018

Как мне написать: (javascript)

array.sort((a, b) => a - b)

На Java?- Я уже пробовал:

Arrays.sort(array, (a, b) -> a - b);

, но я получаю сообщение об ошибке, что не найдено подходящего метода.

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Ну, после пары дней и около 12 часов работы мне все удалось выяснить самому ... Спасибо; -)

import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;


public class Solution {
   public static int largestArrangement(int[] arr) {
      return Integer.parseInt(StringUtils.join(Arrays.stream(arr).boxed().sorted((a, b) -> Integer.parseInt(""+b+a) - Integer.parseInt(""+a+b)).mapToInt(i -> i).mapToObj(String::valueOf).toArray(String[]::new), ""));
   }
}
0 голосов
/ 28 октября 2018

Не очень хорошо с javascript, но ищет, как javascript сортирует элементы , ваш код

array.sort((a, b) => a - b)

выглядит как сортировка массива в порядке возрастания , в то же время, по совпадению глядя на другой вопрос от вас , эквивалентный код для такого рода сортировки в java будет

public static int[] smallestToLargestArrangement(int[] arr) {
     Arrays.sort(arr);  // sorts ascendingly
     return arr;
}

Примечание : - Я попытался связать контекст ваших испытаний с тем, чтобы придумать этот метод, общий подход состоял бы в том, чтобы встроить вызов sort как и когда требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...