一个list按另一个list中某个属性排序

现在有List list = ......

          List list1 = ......

要求list1中的对象按list中ResuLt对象的deptCode的位置排序

 

伪代码:

List deptCodes = list.stream().map(Result::getIndCode).collect(Collectors.toList());

Collections.sort(list1,new Comparator){

@Override

 public int compare(Result o1,Result o2){

  int io1 = deptCodes.indexOf(o1.getDeptCode());

  int io2 = deptCodes.indexOf(o2.getDeptCode());

  if(io1 != -1){

    io1 = list1.size() - io1; 

  }

  if(io2 != -1){

    io2 = list1.size() - io2; 

  }

return io2- io1;

  }

});

你可能感兴趣的:(一个list按另一个list中某个属性排序)