快捷搜索: 脱发

将list集合的某一字段拼接单个String

将list集合的某一字段拼接单个String

有2种方法

  1. 循环(lambad表达式方法)
  2. 递归的方式将list集合的某一字段拼接单个String
List<Employee> emps = Arrays.asList(
            new Employee(102, "李四", 59, 6666.66, Employee.Status.BUSY),
            new Employee(101, "张三", 18, 9999.99, Employee.Status.FREE),
            new Employee(103, "王五", 28, 3333.33, Employee.Status.VOCATION)
    );

    //将list集合的某一字段拼接单个String
    @Test
    public void testList(){
          
   
        if(emps != null && emps.size() >=0){
          
   
            //第1种 lambad表达式方法
            String  s=  emps.stream().map(p->p.getName()).collect(Collectors.joining(","));
            System.out.println(s);
            //第2种  递归的方式将list集合的某一字段拼接单个String
            String loopJoint = loopJointASC(emps, emps.size());
            System.out.println(loopJoint);
        }

    }

    public static String loopJointASC(List<Employee> list, int size) {
          
   
        if(list.size()<=0) return null;
        if(size==1) return list.get(list.size()-1).getName();
        String joinStr = ",";
        String name = list.get(list.size()-size).getName();
        size--;//下标值和递归次数减少1
        String loopJoint = loopJointASC(list, size);
        return name+joinStr+loopJoint;
    }

运行结果

经验分享 程序员 微信小程序 职场和发展