public class ImprovedVector<T> extends Vector<T>{ public synchronized boolean putIfAbsent(T x){ boolean flag=contains(x); if(!flag) add(x); return !flag; } }
(错误的实现) public class ImprovedList<T>{ public List<T> list=Collections.synchronizedList(new ArrayList<T>()); public synchronized boolean putIfAbsent(T x){ boolean flag=list.contains(x); if(!flag) list.add(x); return !flag; } }
(正确的实现) public class ImprovedList<T>{ public List<T> list=Collections.synchronizedList(new ArrayList<T>()); public synchronized boolean putIfAbsent(T x){ synchronized(list){ boolean flag=list.contains(x); if(!flag) list.add(x); return !flag; } } }
public class ImprovedList<T> implements List<T>{ private final List<T> list; public ImprovedList(List<T> list){ this.list=list; } public synchronized boolean putIfAbsent(T x){ boolean flag=list.contains(x); if(!flag) list.add(x); return !flag; } } ...实现List<T>接口中的其他方法 }
道友请留步 2025-03-26
道友请留步 2025-03-26
藏家708 2025-03-26
leoaim 2025-03-25
恭明惠 2025-03-26
藏家468 2025-03-26
藏家101 2025-03-25
藏家101 2025-03-25
藏家101 2025-03-25
藏家068 2025-03-25