gpt4 book ai didi

java - 对 CopyOnWriteArrayList 进行排序

转载 作者:行者123 更新时间:2023-11-29 08:45:54 25 4
gpt4 key购买 nike

我需要在多线程环境中维护一个对象列表。我已经阅读了有关 CopyOnWriteArrayList 的内容,它似乎是一个不错的选择。问题是,我也需要对列表进行排序。我不能将 Collections.sort() 用于 CopyOnWriteArrayList,因为它不支持 set() 操作。我发现很少有方法可以对 CopyOnWriteArrayList 进行排序。但就性能而言,它们看起来并不好。

我的问题:在这种情况下是否有替代的数据结构会派上用场?基本上,我需要在多线程环境中保留一个排序列表。列表适配器将使用该数据结构。所以,它应该提供像“get(position)”这样的方法。

我最近读到另一个数据结构ConcurrentSkipListSet。谁能解释一下它的优缺点是什么?它适合我的问题吗?

最佳答案

我知道你问的是性能,我不确定我的方法在这方面的表现如何,但这是我使用的:

List arrayList = Arrays.asList(cowArrayList.toArray());
Collections.sort(arrayList, new MyComparator());
cowArrayList.clear();
cowArrayList.addAll(arrayList);

关于java - 对 CopyOnWriteArrayList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25390782/

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