美文网首页
使用java8 把两个数组 key,values(多行) 组成

使用java8 把两个数组 key,values(多行) 组成

作者: IT男的假智慧 | 来源:发表于2023-05-09 09:13 被阅读0次

public static void main(String[] args) { String key="additionalData,balanceAmount,bankCardType,channelOrderNo,commissionAmount,liquidationDate,merchantNo,storeCode,storeName,payMethod,refundAmount,refundCompletionTime,refundOriginalOrderNo,terminalId,terminalSerialNumber,tradeAmount,tradeNo,tradeStatus,tradeType"; String values = "858405812004929,14505386,2023-05-05 00:03:40,,2570,6,0,2564,2,3,1,145053869722323050500032700183,,1683216206175,2023050522001468531436244681,2023-05-05,2088242754868530,1,\n" + "858405812004929,14505386,2023-05-05 00:03:44,,3000,7,0,2993,2,3,1,145053869222323050500033700219,,1683216217824,2023050522001417661456876042,2023-05-05,2088222966217663,0,";// 将key字符串分隔为属性名数组 String[] keys = key.split(","); // 将values字符串分隔为值数组 String[] lines = values.split("\n"); // 使用Java 8 Stream API将数组转换为List<Map<String, String>> List<Map<String, String>> resultList = Arrays.stream(lines) .map(line -> { String[] valuesArray = line.split(","); Map<String, String> map = new HashMap<>(); for (int i = 0; i < keys.length; i++) { if (valuesArray.length > i) { map.put(keys[i], valuesArray[i]); } } return map; }) .collect(Collectors.toList()); // 输出结果 System.out.println(resultList); }

另外一种写法  就是只有一个map的情况下

// public static void main(String[] args) {// String keys = "merchantNo,terminalId,transactionTime,refundCompletionTime,tradeAmount,commissionAmount,refundAmount,balanceAmount,transactionType,payMethod,tradeStatus,transactionNo,refundOriginalOrderNo,terminalSerialNumber,channelOrderNo,liquidationDate,userId,bankCardType";// String values = "858405812004929,14505386,2023-05-05 00:03:40,,2570,6,0,2564,2,3,1,145053869722323050500032700183,,1683216206175,2023050522001468531436244681,2023-05-05,2088242754868530,1,";// String[] keysArray = keys.split(",");// Map<String, String> map = IntStream.range(0, keysArray.length)// .mapToObj(i -> new AbstractMap.SimpleEntry<>(keysArray[i], values.split(",")[i]))// .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));//// System.out.println("-------------------------" + map);// }

获取对象中的所有 属性值名称

// ShopMerchantBill shopMerchantBill = new ShopMerchantBill();

//        Field[] fields = shopMerchantBill.getClass().getDeclaredFields();

//        // 遍历对象的所有属性

//        for (Field field : fields) {

//            field.setAccessible(true);

//            System.out.print(field.getName()+",");

//        }

其中   field.setAccessible(true); 是按照字母排序

相关文章

  • Java 8 Stream 编程例子

    1.利用map的key唯一 2 去重使用java8 3 java 8 4 java8 根据数组列表的内置对象的元素...

  • HashMap源码解析

    1.HashMap结构 HashMap使用的是数组加链表的形式,数组里面存储的是key-value,在java8中...

  • 看了这些,妈妈再也不担心我PHP面试被数组问得脸都绿了

    一、数组操作的基本函数 数组的键名和值 array_values($arr); 获得数组的值 array_key...

  • ES6之对象优化

    新增的API keys():获取对象的所有key形成的数组 values():获取对象的所有value形成的数组 ...

  • array_values()-返回由 所有原数组键值构成的 索引

    array_values() 返回由 原数组的所有键值 组成的 索引数组,返回数组的键值顺序同原数组的书写顺序; ...

  • Pandas

    Serise,由index和values组成。 和Numpy一纬数组,的本质区别是索引:Numpy数组通过隐式定义...

  • python之科学运算Pandas模块

    一、Series数列 SeriesSeries是一种类似与一维数组的对象,由下面两个部分组成:values:一组数...

  • pandas之series的创建

    Series:   是一种类似与一维数组的对象,由下面两个部分组成:  1>:values:一组数据(ndarra...

  • 数据分析(二)

    Pandas Series Series是一种类似于一维数组的对象,由下面两个部分组成: values:一组数据(...

  • php数组

    PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。 1.简单例子 key...

网友评论

      本文标题:使用java8 把两个数组 key,values(多行) 组成

      本文链接:https://www.haomeiwen.com/subject/flrrsdtx.html