gpt4 book ai didi

java - 列表项排序问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:04:43 26 4
gpt4 key购买 nike

我有一个项目列表和一组用户。用户可以重新排序列表项。每个用户对列表都有自己的看法,他可以按照自己的方式排列项目。对于不同的用户,一个项目可以放在列表中的不同位置。我必须在列表项中跟踪用户的项目位置。请提出实现此建议。列表的大小不是恒定的。我正在使用 Java。我的意图是我必须以他们的订购格式为每个用户显示列表。请各位高手指教。

最佳答案

您可以保留一个有序列表,好吧,从您的主列表中检索项目的顺序:

List<Foo> items = new ArrayList<Foo>();
// add stuff to items (say, 6 things)

Map<String,List<Integer>> userOrders = new HashMap<String,List<Integer>>();
userOrders.put("A", Arrays.asList(0,1,2,3,4,5)); // add user A's order
userOrders.put("B", Arrays.asList(5,4,3,2,1,0)); // add user B's order

// display for userA:
for(Integer i : userOrders.get("A")){
show(items.get(i)); // show the userA's i-th item
}

在这里,我还使用 Map 来保存订单。根据您的应用程序,您可能会使用其他一些方案来检索用户的自定义订单,但原则始终是相同的:如果用户可以有自定义订单,您应该将该订单存储在某个地方,并且然后根据该顺序遍历事物列表(如上所示)。

还要注意您正在使用的 List 类型,调用 get 以随机访问 LinkedList 的成本远高于在 ArrayList 上。

关于java - 列表项排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5100559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com