Когда я конвертирую в нижний регистр, все идет в правильном порядке.
Когда я пытаюсь преобразовать в верхний регистр, это неправильно.
Я пытаюсь использовать LinkedHashMap для сохранения порядка вставки.
Я думаю, что поток изменил порядок ключей, но я не знаю, как сортировать после изменения ключа.
Вот мой код:
import java.util.*;
import java.util.stream.Collectors;
public class Test {
static List convertKeyCase (List list,int...s) {
return list.stream().map(m -> m.entrySet().stream().sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(p -> s.length == 0 || s[0]==1 ? p.getKey().toUpperCase():p.getKey().toLowerCase(), Map.Entry::getValue)))
.collect(Collectors.toList());
}
public static void main(String[] args) {
List list1 = new ArrayList();
Map map1 = new LinkedHashMap();
Map map2 = new LinkedHashMap();
map1.put("date","2021-06-03");
map1.put("weather","1");
map1.put("wind","2-3");
map1.put("temp","17-29°C");
list1.add(map1);
map2.put("date","2021-06-04");
map2.put("weather","1");
map2.put("wind","3-4");
map2.put("temp","17-30°C");
list1.add(map2);
List list = convertKeyCase(list1);
List list2 = convertKeyCase(list1,0);
System.out.println(list);
System.out.println(list2);
}
}
Подробнее здесь: https://stackoverflow.com/questions/678 ... n-though-i
Почему при преобразовании ключа в верхний регистр он не соответствует порядку ключа, хотя я использую LinkedHashMap ⇐ JAVA
Программисты JAVA общаются здесь
1735102589
Anonymous
Когда я конвертирую в нижний регистр, все идет в правильном порядке.
Когда я пытаюсь преобразовать в верхний регистр, это неправильно.
Я пытаюсь использовать LinkedHashMap для сохранения порядка вставки.
Я думаю, что поток изменил порядок ключей, но я не знаю, как сортировать после изменения ключа.
Вот мой код:
import java.util.*;
import java.util.stream.Collectors;
public class Test {
static List convertKeyCase (List list,int...s) {
return list.stream().map(m -> m.entrySet().stream().sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(p -> s.length == 0 || s[0]==1 ? p.getKey().toUpperCase():p.getKey().toLowerCase(), Map.Entry::getValue)))
.collect(Collectors.toList());
}
public static void main(String[] args) {
List list1 = new ArrayList();
Map map1 = new LinkedHashMap();
Map map2 = new LinkedHashMap();
map1.put("date","2021-06-03");
map1.put("weather","1");
map1.put("wind","2-3");
map1.put("temp","17-29°C");
list1.add(map1);
map2.put("date","2021-06-04");
map2.put("weather","1");
map2.put("wind","3-4");
map2.put("temp","17-30°C");
list1.add(map2);
List list = convertKeyCase(list1);
List list2 = convertKeyCase(list1,0);
System.out.println(list);
System.out.println(list2);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/67866651/why-is-it-not-in-the-order-of-key-when-converting-key-to-uppercase-even-though-i[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия