美文网首页
Java 两个List按照其中一个List元素顺序对另一个Lis

Java 两个List按照其中一个List元素顺序对另一个Lis

作者: 王疏蔬 | 来源:发表于2020-08-25 17:22 被阅读0次

` 根据orderList顺序排序,orderList不存在的元素放置在targetList最后面

// 根据orderList顺序排序,orderList不存在的元素放置在targetList最后面
private static void sort1(List<String> targetList, List<String> orderList) {
    targetList.sort(((o1, o2) -> {
        int io1 = orderList.indexOf(o1);
        int io2 = orderList.indexOf(o2);
        if (io1 != -1) {
            io1 = targetList.size() - io1;
        }
        if (io2 != -1) {
            io2 = targetList.size() - io2;
        }
        return io2 - io1;
    }));
}


//如果targetList为list<实体>,则需要 get出 key 相同字段进行比较
private static void sort1(List<实体> targetList, List<String> orderList) {
    targetList.sort(((o1, o2) -> {
        int io1 = orderList.indexOf(o1.get出targetList与orderList相同的key);
        int io2 = orderList.indexOf(o2.get出targetList与orderList相同的key;
        if (io1 != -1) {
            io1 = targetList.size() - io1;
        }
        if (io2 != -1) {
            io2 = targetList.size() - io2;
        }
        return io2 - io1;
    }));
}

` 根据orderList顺序排序,orderList不存在的元素放置在targetList最前面

 // 根据orderList顺序排序,orderList不存在的元素放置在targetList最前面
  private static void sort2(List<String> targetList, List<String> orderList) {
    targetList.sort(((o1, o2) -> {
        int io1 = orderList.indexOf(o1);
        int io2 = orderList.indexOf(o2);
        return io1 - io2;
    }));
}


 //如果targetList为list<实体>,则需要 get出 key 相同字段进行比较
  private static void sort2( List<实体> targetList, List<String> orderList) {
    targetList.sort(((o1, o2) -> {
        int io1 = orderList.indexOf(o1.get出targetList与orderList相同的key);
        int io2 = orderList.indexOf(o2.get出targetList与orderList相同的key);
        return io1 - io2;
    }));
}

相关文章

  • Java 两个List按照其中一个List元素顺序对另一个Lis

    ` 根据orderList顺序排序,orderList不存在的元素放置在targetList最后面 ` 根据ord...

  • Collections工具类

    常用方法 reverse(List):反转 List 中元素的顺序 shuffle(List):对 List 集合...

  • 深入学习List集合

    Java List 是一个有序集合。Java List 是扩展 Collection 接口的接口。Java Lis...

  • Redis 使用记录(四)

    List (列表) List 是一个简单的 String 列表,按照插入顺序排序。可以添加一个元素到 List 的...

  • 数组和集合(二)

    List集合 与 Java类似,List集合的最大特征就是集合元素都有对应的顺序索引 List集合允许使用重复元素...

  • groovy(6)-list和map

    package variable //list定义方式,默认list是java的arrayList def lis...

  • Java集合类-ArrayList

    ArrayList的是常用List接口的实现类,其中的元素的顺序是按照元素插入的顺序,其内部的实现是动态对象数组,...

  • 集合-List/Map/Entry/Set/Iterator

    List List是一种有序链表。 List的行为和数组几乎完全相同:List内部按照放入元素的先后顺序存放,每个...

  • 2020-07-03【List与Set的区别】

    Java中的Set集合是继承Collection的接口,是一个不包含重复元素的集合。 List List以特定顺序...

  • Java面试大纲

    答案不全,欢迎补充订正~ Java基础 1、List 和 Set 的区别~List允许重复,有序容器,按照存放顺序...

网友评论

      本文标题:Java 两个List按照其中一个List元素顺序对另一个Lis

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