当前位置:  开发笔记 > 编程语言 > 正文

重新排序位置项列表

如何解决《重新排序位置项列表》经验,为你挑选了1个好方法。

我有一个Request对象,其中包含一个Approvers列表.审批人具有名称和批准职位.

    马修

    标记

    卢克

    约翰

最终,请求将从Mathew开始并在John处结束.

我需要能够重新订购这些允许添加和删除,如下所述.

批准人可以 -

在某个位置添加 - 即.在第3位添加Peter,在这种情况下新订单将是

    马修

    标记

    彼得

    卢克

    约翰

删除 - 即.删除标记新订单的情况

    马修

    卢克

    约翰

编辑 - 即您可以将John的位置更改为1,在这种情况下新订单是

    约翰

    马修

    标记

    卢克

我已经提出了许多解决方案,但是没有一个是特别优雅的.

任何帮助将非常感激



1> Jon Skeet..:

这些名单可能有多大?List可能是集合中最简单的表示形式,但这意味着每次插入或从列表中间删除时都需要复制."编辑"列表基本上意味着删除/插入.

迭代很简单.

另一种方法可能是LinkedList- 如果您挂在LinkedListNode与每个批准者关联的链接上,这会使迭代变得简单,"插入后","插入前"和"删除"便宜.但是这并不容易说"这个评论者现在应该在第3位" - 你必须先迭代才能找到第3位(或者2位,无论如何).如果这是"在此之后移动此批准者"的情况,那么它是理想的.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有