gpt4 book ai didi

java - 同步 TreeSet 类型转换?

转载 作者:行者123 更新时间:2023-11-30 08:41:39 25 4
gpt4 key购买 nike

我在 Java 中使用 TreeSet 来保存整数列表:

TreeSet<Integer> num = new TreeSet<Integer>();

因为我的应用程序有多个线程,所以我希望能够同步访问它。我正在使用 Collections.synchronizedSortedSet(num);这会返回一个 Collections$SortedSet .我的问题是这不能转换为 TreeSet - 它只能转换为 SortedSet .我无法更改 num 对象的类,因此它必须 转换为 TreeSet .

有谁知道否则我会怎么投 Collections$SortedSetTreeSet ,或者我可以用来同步这个 TreeSet 的另一种方法?

最佳答案

没有这样的实现,但您可以轻松实现。只需扩展 TreeSet,并用同步方法覆盖它的方法。

例如:

public class MySyncedTreeSet extends TreeSet {
@Override
public synchronized boolean isEmpty() {
return super.isEmpty();
}

@Override
public synchronized boolean contains(Object o) {
return super.contains(o);
}

// and the same for all other methods
}

关于java - 同步 TreeSet 类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34980565/

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