лямбда выражение в сортировке

176
13 июня 2018, 19:50

Стоит задача отсортировать все буквы в строке по алфавиту. Программа должна игнорировать регистр при сортировке.

Написал такой код :

char[] charstr = str.toCharArray();
Arrays.sort(charstr, 
  (char a , char b) -> {Character.compare(Character.toLowerCase(a) , Character.toLowerCase(b))});
str = new String(charstr); 

получаю сообщение, что не хватает ;, но синтаксис вроде правильный. Кто может подсказать в чем ошибка?

Answer 1

Варианты:

    import java.util.Arrays;
    import java.util.Comparator;
    public class SortHelp {
        public static void main(String[] args) {
            String str = "bZDFghA";
            String[] sAr = str.split("");
            Arrays.sort(sAr, (o1, o2) -> o1.toLowerCase().compareTo(o2.toLowerCase()));
            System.out.println(Arrays.toString(sAr));
        }
    }

и

    import java.util.Arrays;
    import java.util.Comparator;
    public class SortHelp {
        public static void main(String[] args) {
            String str = "bZDFghA";
            String[] sAr = str.split("");
            Arrays.sort(sAr, Comparator.comparing(String::toLowerCase));
            System.out.println(Arrays.toString(sAr));
        }
    }
Answer 2

В итоге так решил :

String[] split = str.split("");
Arrays.sort(split , String.CASE_INSENSITIVE_ORDER);
str = new String("");
for (int i = 0 ; i < split.length; i++)
    str += split[i];
READ ALSO
Проблема с Intellij Idea

Проблема с Intellij Idea

Всем привет, проблема с IDEПочему-то как-то странно стали располагаться папки, в смысле папка resource автоматически стала пытаться стать root папкой

177
Поддержка нескольких языков

Поддержка нескольких языков

Нужно создать объект(Возможно даже для каждого языка отдельный класс) который хранит в себе все сообщенияПри нужде выводить пользователю...

203
Правильно получить приходящее время

Правильно получить приходящее время

С сервера приходит ответ в котором указано время в путиСуть в том, что иногда приходит в таком виде 45 ( то есть понимается что 45 минут) А иногда...

203
Проверка данных без цикла

Проверка данных без цикла

Мне нужно обработать несколько тысяч объектов

219