java 实现行转列_java简单实现lambda将数据行转列

1、需求一个级别可以有多个档级,级别和档位可能会变动

12d5cf05c005b0fdabcd64ea396d6952.png

2、数据库存储的元数据是级别+档次+薪资

代码实现:

public class Test {

public static void main(String[] args) {

Listlist = initDemoList();

// 级别分组

List responseList = list.stream().collect(Collectors.groupingBy(Demo::getLevel)).entrySet().stream()

// 级别排序

.sorted(Map.Entry.comparingByKey()).map(integerListEntry -> {

// 新数组接收

List newList = new ArrayList();

newList.add(integerListEntry.getKey());

// 档位排序

newList.addAll(integerListEntry.getValue().stream().sorted((o1, o2) -> o1.getGrade() - o2.getGrade())

// 收集薪资

.map(Demo::getSalary).collect(Collectors.toList()));

return newList;</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在Java中将一个Map的所有key都转换为驼峰命名的形式,可以使用Java 8中引入的Stream API和Lambda式来实现。示例代码如下: ```java import java.util.Map; import java.util.HashMap; public class CamelCaseMap { private static String toCamelCase(String str) { StringBuilder sb = new StringBuilder(); boolean toUpper = false; for (char c : str.toCharArray()) { if (c == '_' || c == '-') { toUpper = true; } else { if (toUpper) { sb.append(Character.toUpperCase(c)); toUpper = false; } else { sb.append(Character.toLowerCase(c)); } } } return sb.toString(); } public static <T> Map<String, T> toCamelCaseKeys(Map<String, T> map) { return map.entrySet().stream() .collect(HashMap::new, (m, e) -> m.put(toCamelCase(e.getKey()), e.getValue()), Map::putAll); } public static void main(String[] args) { Map<String, Object> data = new HashMap<>(); data.put("user_name", "Alice"); data.put("user_age", 20); Map<String, Object> address = new HashMap<>(); address.put("city_name", "Beijing"); address.put("street_name", "Xinjiekou"); data.put("user_address", address); data.put("user_hobbies", new String[]{"reading", "traveling"}); Map<String, Object> camelCaseData = toCamelCaseKeys(data); System.out.println(camelCaseData); // 输出:{userName=Alice, userAge=20, userAddress={cityName=Beijing, streetName=Xinjiekou}, userHobbies=[reading, traveling]} } } ``` 上述代码中,我们首先定义了一个静态方法toCamelCase,用于将一个字符串转换为驼峰命名的形式。在toCamelCaseKeys方法中,我们使用Map的entrySet方法获取Map中每个键值对,并使用Stream API进行遍历。在遍历过程中,我们使用Lambda式将每个键值对的key转换为驼峰命名的形式,并将结果存放到新的Map对象中。最终,toCamelCaseKeys方法将返回一个新的Map对象,其中所有key都已经被转换为驼峰命名的形式。在main方法中,我们创建了一个示例数据对象data,并使用toCamelCaseKeys方法将其转换为驼峰命名的形式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值